Download as pdf or txt
Download as pdf or txt
You are on page 1of 55

AUDIO PERCEPTION AND ANALYSIS FOR ROBOTIC

APPLICATION
An Industrial Internship Report

submitted by

HARSH ANIL PATEL


21BKT0152

in partial fulfillment for the award of the degree of

B. TECH
in

COMPUTER SCIENCE AND ENGINEERING WITH SPECIALIZATION


BLOCK-CHAIN TECHNOLOGY

SCHOOL OF COMPUTER SCIENCE AND ENGINEERING


SEPTEMBER,2023

1|Page
DECLARATION BY THE CANDIDATE

I hereby declare that the Industrial Internship report entitled “AUDIO PERCEPTION
AND ANALYSIS FOR ROBOTIC APPLICATION” submitted by me to Vellore
Institute of Technology, Vellore in partial fulfilment of the requirement for the award of
the degree of B.tech in Computer Science And Engineering With Specialization
Block-Chain Technology is a record of bonafide industrial training undertaken by me
under the supervision of Mrs. Bani Hazra, R&DE(ENGRS), DRDO. I further declare
that the work reported in this report has not been submitted and will not be submitted,
either in part or in full, for the award of any other degree or diploma in this institute or
any other institute or university.

Signature of the student

Name: Harsh Patel


Reg. Number: 21BKT0152

2|Page
ACKNOWLEDGEMENT

Project Guide: We express our deep appreciation to MRS. BANI HAZRA, SCIENTIST G for
providing valuable guidance, insightful feedback, and continuous support throughout the internship.
Your mentorship was instrumental in shaping our internship.

Open-Source Community: We want to acknowledge the contributions of the open-source community


that provided essential software libraries, frameworks, and tools that we used in the internship. Your
work was invaluable in developing our solution.

Organization: We sincerely thank R&DE (ENGRS), DRDO, Pune, for the internship opportunity and
support provided during our project. Thank you for this enriching experience and the chance to
contribute to meaningful projects aligned with our academic and professional goals.

Institution/University: We are grateful to VIT for providing us with the resources, infrastructure, and
access to research materials that enabled us to carry out this internship.

Family and Friends: We would like to thank our family and friends for their unwavering support and
encouragement throughout the internship. Your understanding and patience were crucial during this
time.

Other Contributors: We extend our thanks to anyone not mentioned above who provided assistance,
feedback, or encouragement at any stage of our internship.

This internship would not have been possible without the collective effort and support of our guide
MRS. BANI HAZRA, SCIENTIST G and organization. I am truly grateful for your guidance.

HARSH ANIL PATEL

3|Page
4|Page
5|Page
6|Page
TABLE OF CONTENTS
CONTENTS PAGE NO.
Declaration 3
Acknowledgement 4
Bonafide 5
Offer letter 6
Certificate 7
List of Figures 10
List of Tables 10
List of Abbreviations 11

Chapter 1 - Introduction
1.1 Learning objectives/Internship objectives 12
1.2 About the organization 13
1.3 Company Domains/Departments 14
1.4 My Department 15
Chapter 2 – Methodology
2.1 Ongoing Work Methodology 17
2.2 Challenges 19
Chapter 3 – Overview of the Internship
3.1 Persons interacted with 20
3.2 Machinery/Equipment’s Observed 21
3.3 Learnings 23

Chapter 4 - Determination of DOA of a ULA


24
4.1 What is DOA Estimation?
24
4.2 Significance and Applications
25
4.3Algorithms for DOA Estimation:
25
4.4Which Algorithm is better?
27
4.5 Solution to the problem
30
4.6 MATLAB Code

7|Page
4.7 Observations 34

Chapter 5 - Triangulation & Determination of


Sound Source Location
5.1 Application in the Field 35
5.2 What is Triangulation? 35
5.3 Understanding GCC-PHAT Algorithm 36

5.4 Step-by-Step Solution 36


38
5.5MATLAB CODE

Chapter 6 - Impact of Noise on DOA


6.1Introduction of Noise
42
6.2 Application in the Field
42
6.3 Significance of Noise in Signal Processing
42
6.4 The Role of Signal-to-Noise Ratio (SNR)
42
6.5 Solution to the problem
42
6.6 Impact of Noise on MVDR Algorithm
43
6.7 Impact of Noise on Power and Amplitude
43
6.8 Practical Implications and Strategies
43
6.9 Visual Representation and Interpretation
43
6.10 MATLAB CODE
45
6.11 Observations
50

Chapter 7 – Analysis
7.1 Amplitude and Power Variation 51
7.2 Triangulation Using Two Arrays 51
7.3 Adding Noise and MVDR Algorithm
51

8|Page
Chapter 8 – Software Learnt-MATLAB 52
Chapter 9- Conclusion
9.1Work Experience 53
9.2Comments for Improvement 53

Chapter 10- References 55

9|Page
LIST OF FIGURES

Figure 1 - Robots developed by DRDO …………………………................... Pg.17


Figure 4.1- Fundamentals of Uniform Linear Array…………………………. Pg.24
Figure 4.2- DOA estimation using MUSIC Algorithm………………………. Pg.26
Figure 4.3- DOA estimation using ESPIRIT Algorithm………………………Pg.27
Figure 4.4- Result of DOA estimation using MVDR Algorithm………………Pg.27
Figure 4.5- Graph of DOA estimation using MVDR Algorithm………………. Pg.33
Figure 5.1- Source Localization Using Generalized Cross Correlation….…......Pg.35
Figure 5.2- Triangulation Setup ………………………………………………...Pg.37
Figure 5.3- Source Localization using Triangulation Results ………………… Pg.41
Figure 5.4- Source Localization using Triangulation Plot………………………Pg.41
Figure 6.1- Signal and Noise……………………………………………………. Pg.44
Figure 6.2- Combination of Signal and Noise……………………………………Pg.44
Figure 6.3- Noise Addition Effect on DOA Results………………………………Pg.48
Figure 6.4- Noise Addition Effect on DOA Graphs………………………………Pg.50
Figure 7: Basic MATLAB Certifications…………………………………………. Pg.52

LIST OF TABLES

Table 1: Amplitude & Power vs DOA…………………………………………. Pg.34


Table 2: Amplitude & Power vs DOA With & Without Noise…………….……Pg.50

10 | P a g e
LIST OF ABBREVATIONS

• ULA: Uniform Linear Array


• DOA: Direction of Arrival
• MVDR: Minimum Variance Distortionless Response
• MUSIC: Multiple Signal Classification
• ESPRIT: Estimation of Signal Parameters via Rotational Invariance
• Techniques
• GCC-PHAT: Generalized Cross-Correlation with Phase
Transformation
• SNR: Signal-to-Noise Ratio
• LFM: Linear Frequency Modulated
• PRF: Pulse Repetition Frequency
• BW: Bandwidth
• FS: Free Space
• NFFT: Number of FFT Points
• FFT: Fast Fourier Transform
• LFM: Linear FM
• Rxx: Covariance Matrix
• RO: Regularization
• LFM: Linear Frequency Modulation
• 3D: Three-Dimensional
• GUI: Graphical User Interface

11 | P a g e
CHAPTER 1- INTRODUCTION

LEARNING OBJECTIVES

In this project we have used MATLAB to Simulate and study various concepts related to
Direction of arrival and Sound Source Localization of an Omnidirectional Microphone
arrayarranged in a Uniform Linear Array. Throughout this project, we've acquired the
followingskills and knowledge:

1. Advanced Sound Localization Techniques: Acquire skills in utilizing two Uniform


Linear Arrays (ULAs) for sound source triangulation, enhancing accuracy in localization
processes.
2. Practical Geometry Definition: Master the art of defining sound source and ULA
geometry, a fundamental step crucial for realistic simulations and calculations.
3. Wideband Signal Processing: Develop proficiency in generating and processing
wideband signals using linear frequency modulated (LFM) waveforms, focusing on
effective implementation with the GCC-PHAT algorithm.
4. Simulation and Visualization: Learn to use MATLAB's Phased Array System
Toolbox for realistic signal propagation simulations and effectively visualize results
through 3D scatter plots.
5. Application of GCC-PHAT Algorithm: Gain practical experience in applying the
GCC-PHAT algorithm for DOA estimation, particularly emphasizing its suitability for
wideband signal scenarios.
6. Triangulation Methodology: Understand and apply the triangulation method for
determining sound source spatial positions, utilizing trigonometric principles based on
DOA angles.
7. Results Visualization and Interpretation: Develop skills in creating impactful visual
representations, concluding the project with insightful 3D scatter plots for effective
communication of localization accuracy.
8. MATLAB Coding Proficiency: Strengthen MATLAB coding skills through the
implementation of algorithms and simulation techniques, translating sound localization
concepts into a functional code.

12 | P a g e
ABOUT THE ORGANIZATION

Research & Development Establishment (Engineers) (R&DE(Engrs)) is engaged in the


indigenous development of various engineering systems for all the three wings of the Indian
defence forces. R&DE(Engrs) has developed and delivered combat engineeringsystems like -
military bridging, mine-warfare and allied systems, ground support systems and launchers for
weapon programmes and field-defence and NBC collective- protection systems. The
establishment is also working in the areas of robotics, composite products and micro-electro-
mechanical-systems (MEMS). R&DE(E) was the first DRDO laboratory to obtain ISO 9001-
2015 certification. R&DE(Engrs) is situated in Pune, Maharashtra, India.

It envisions to transform R&DE(E) into a world-class Engineering Systems Laboratorythrough


research, innovation and development of state-of-the-art technology and also through
collaborative-engineering and continual improvement.

It aims to Design and Develop high performance engineering systems, equipment,products


and technologies related to:
• Mobility and Counter-Mobility Systems
• Field Defence and Collective Protection Systems
• Launch Systems for Weapons and Unmanned Aerial Vehicles
• Advanced Products using Composite Materials
• Robotics and Unmanned Systems
• Micro Electro-Mechanical Systems
• Specialized Power Systems and Solutions
• Specialized Engineering Equipment and Solutions.

13 | P a g e
COMPANY DEPARTMENTS

DRDO is the R&D wing of Ministry of Defence, Govt of India, with a vision to empower India
with cutting-edge defence technologies and a mission to achieve self-reliance in critical
defence technologies and systems, while equipping our armed forces with state-of-the-art
weapon systems and equipment in accordance with requirements laid down by the three
Services. DRDO is a network of around 41 laboratories and 05 DRDO Young Scientist
Laboratories (DYSLs) which are deeply engaged in developing defence technologies covering
various disciplines, like aeronautics, armaments, electronics, combat vehicles, engineering
systems, instrumentation, missiles, advanced computing and simulation, special materials,
naval systems, life sciences, training, information systems and agriculture. Some of the
laboratories are:
1. Research & Development Establishment (Engrs) [R&D (Engrs)], Pune
2.DRDO Research & Innovation Centre (RIC), Chennai
3. Defence Metallurgical Research Laboratory (DMRL), Hyderabad
4. Defence Research & Development Establishment (DRDE), Gwalior
5. Defence Institute of Physiology & Allied Science (DIPAS), Delhi

I got an oppurtunity to work at Research & Development Establishment (Engrs) [R&D


(Engrs)], Pune. There are different domains under which R & DE(Engrs) works. Here is are
few of the departments in R&DE(Engrs):

1.Mobility and Counter-Mobility Systems


2.Field Defence and CBRNe Collective Protection Systems
3.Launch Systems for Weapons and Unmanned Aerial Vehicles
4. Composite Material Department
5.Robotics and Unmanned Systems
6.Micro Electro-Mechanical Systems
7.Specialized Power Systems and Solutions
8.Specialized Engineering Equipment and Solutions.

14 | P a g e
MY DEPARTMENT

I got an opportunity to work at the Department of Robotics and Unmanned Systems, which
is a department under R&DE(Engrs)). Department of Robotics and Unmanned Systems uses
the following technology: Platform, manipulators, sensor integration, communication System.
Some of their products are:
REMOTELY OPERATED VEHICLE (ROV) DAKSH: The ROV is versatile equipment
for improvised explosive device identification and handling. It can also be utilised to survey
and monitor nuclear and chemical contamination levels. The ROV has stair climbing
capabilities and can operate continuously for 3 hours. The ROV can be controlled either by
fibre optic communication over 100m distance or can be controlled by wireless communication
over 500m line of sight.
UNMANNED AERIAL VEHICLE (UAV) ‘NETRA’: This mini UAV has been developed
for surveillance applications. It is battery operated, silent and is equipped with a Day Camera
with zoom for detailed surveillance. It also has an optional Thermal Imager for night
operations. IT A number of UAV systems have been supplied to Paramilitary Forces and Police
and are currently in operation.
Confined Space Remotely Operated Vehicle (CSROV): DAKSH MINI is a battery operated
tracked vehicle with multiple degrees of freedom manipulator arm (telescopic arm) weighing
not more than 100 kg. DAKSH MINI is capable of extracting suspected objects with telescopic
manipulator arm.
Surveillance Remotely Operated Vehicle (SROV) (on the verge of induction): The
DAKSH-SCOUT is remotely controlled from a portable Operator Console using RF. It has
adequate number of cameras suitably mounted on the platform for real time viewing in front,
at the rear and on either side.
Unexploded Ordnance Handling Robot (UXOR): The UXO handling Robot (UXOR) is
capable to handle, diffuse and detect Unexploded Ordnance (UXO) i.e. Bombs and Missiles up
to 1000 kg remotely from of 1km LOS. UXOR is based on a IC Engine operated, tracked Skid
Steer Loader platform, good cross country mobility with six hours of endurance. UXOR is
capable to diffuse Unexploded Ordnance (UXO) i.e. Bombs and Missiles with low order
detonation. UXOR is having a multiple DOF manipulator arm with cutting mechanism to
defuse the UXO.

15 | P a g e
Figure 1: Robots developed by DRDO

16 | P a g e
CHAPTER 2- METHODOLOGY

ONGOING WORK METHODOLOGY

1. Identifying Military Needs:

The department works closely with the Indian defense forces to understand their specific
requirements for robotic applications. This could involve analyzing combat scenarios,
identifying areas where robots could enhance soldier safety and effectiveness, and studying the
limitations of existing equipment, including challenges in audio perception and sound
localization.

2. Research and Development:

Leveraging their established technology base, the department explores existing and emerging
technologies in areas like robotics, artificial intelligence, sensors (including microphones), and
materials. A specific focus might be on overcoming limitations in audio perception for robots,
such as sound source localization in noisy environments. This might involve collaborating with
universities, research institutions, or private companies with relevant expertise.

3. Design and Development:

Based on research findings and identified needs, engineers translate concepts into technical
designs. This would involve computer-aided design (CAD), simulations, and prototyping using
their expertise in areas like mechanical engineering, control systems, software development,
and potentially biomimetic design for audio perception systems inspired by natural systems.

4. Testing and Evaluation:

Developed robot prototypes undergo rigorous testing in simulated environments that replicate
real-world military scenarios. This ensures the robots meet performance requirements, are
durable, and function effectively in harsh conditions. Soldier feedback is likely incorporated
during this stage, including evaluation of the robot's ability to perceive and respond to audio
cues.

5. Refinement and Integration:

Based on testing results, designs are refined to address shortcomings, including limitations in
audio perception. Additionally, the department likely focuses on ensuring seamless integration
of their robots with existing military equipment and communication systems, including
incorporating audio data into situational awareness for the robots.

17 | P a g e
6. Production and Deployment:

Once finalized, the R&D phase transitions to production, potentially involving collaboration
with private or public sector manufacturers. The department might also be involved in training
soldiers on operating and maintaining the robots, including how to interpret the audio
information the robots collect.

7. Continuous Improvement:

The R&DE(Engrs) emphasizes continual improvement. The department likely gathers


feedback from soldiers using the robots in the field and uses that information to inform future
designs and development efforts, with a particular focus on improving audio perception
capabilities.

18 | P a g e
CHALLENGES TO THE DEPARMENT

1.Balancing Dexterity and Payload Capacity: As mentioned previously, there's a need to


design robots that excel in both manipulation capabilities and the ability to carry necessary
equipment.

2.Range and Endurance Limitations: Extending the operational range and endurance of
robots would allow for wider deployment and longer mission times.

3.Environmental Challenges: Military robots need to function in diverse environments.


Developing robots for all-terrain and all-weather operations remains an ongoing effort.

4.Advanced AI and Autonomy: Integrating advanced AI for semi-autonomous or


autonomous operation presents a significant challenge. This would require substantial
investment in AI research specific to military robotics applications.

5.Cost vs Capability: Striking a balance between the functionalities needed and the
affordability of developing and deploying robots is crucial.

6.Keeping Pace with Evolving Threats: The department needs to stay ahead of emerging
threats by developing robots for new applications.

7.Integration with Existing Systems: Seamless integration of robots with existing military
communication and command-and-control systems is an ongoing effort.

8.Audio Perception and Sound Localization: Overcoming limitations in audio perception for
robots in noisy environments remains a significant challenge. This includes accurately
identifying sound sources, understanding speech commands, and filtering out background
noise.

19 | P a g e
CHAPTER 3- INTERNSHIP OVERVIEW

INTERACTION AT THE INTERNSIP

During my internship at the Research and Development Establishment (Engineers), Pune


(R&DE(Engrs)), I had the valuable opportunity to interact with a distinguished team of
scientists and professionals.

Dr. Makarand Ganesh Joshi, Scientist ‘H’ and Director, R&DE(Engrs): I had the
privilege of meeting Dr. Joshi, who provided insightful guidance on the overall mission and
vision of R&DE(Engrs).This interaction provided a broader perspective on the critical role the
establishment plays in developing innovative engineering solutions for the Indian defense
forces.

Dr. M K Roy, Scientist ‘G’ and Director, IMSG Department, R&DE(Engrs): My


discussions with Dr. Roy focused on the IMSG department's role within R&D(Engrs).He was
the person who helped me get this internship opportunity at this prestige Organization. The
interaction with Dr. Roy provided me with a deeper understanding of the functionalities within
the organization, the various departments of the organization etc.

Mrs. Bani Hazra, Scientist ‘G’ and Head, Department of Robotics, R&DE(Engrs): I am
particularly grateful for the continuous guidance and support I received from Mrs. Hazra
throughout my internship. As my project supervisor, her expertise in robotics was instrumental
in shaping my research and development. Through her mentorship, I gained valuable insights
into the concepts of audio perception and sound localization in Robotics.

Other Professionals at the Robotics Department: In addition to the aforementioned


individuals, I had the opportunity to interact with other esteemed scientists at the Department
of Robotics. These interactions, with scientists at various levels and specializations in robotics,
exposed me to a wider range of knowledge and perspectives in the field. Through these
discussions, I learned about different types of robotic platforms, sensor integration, software
development for robots.

These interactions were a significant highlight of my internship experience. The knowledge


and guidance I received from these esteemed professionals will undoubtedly be instrumental
in my future endeavors. I also got to know the different opportunities available at DRDO and
R&DE(Engrs) from a career point of view and the ways to get into the Organization by giving
different Competitive Exams like GATE.

20 | P a g e
MACHINERY/EQUIPMENT’S OBSERVED

My internship at the Research and Development Establishment (Engineers) (R&D(Engrs))


Robotics Department provided valuable exposure to a range of fascinating robotic equipment.
Here's a glimpse of some of the key technologies I observed:

Remotely Operated Vehicles (ROVs):

1.DAKSH: This versatile ROV is designed for critical tasks like identifying and handling
improvised explosive devices (IEDs). It can also assess nuclear and chemical contamination
levels and even climb stairs!
2.DAKSH MINI (CSROV): This compact tracked vehicle is ideal for confined spaces.
Equipped with a multi-degree-of-freedom manipulator arm (think telescopic arm), it can
extract suspicious objects.
3.DAKSH-SCOUT (SROV): This surveillance ROV is nearing deployment. Controlled
remotely from a portable console, it features multiple cameras for real-time viewing in all
directions.
4.Unmanned Aerial Vehicle (UAV): The NETRA, a mini UAV, impressed me with its silent
operation and long battery life. Equipped with a day camera with zoom and an optional thermal
imager, it's perfect for discreet surveillance missions.

Unexploded Ordnance Handling Robot (UXOR)

This impressive machine is designed for the safe handling and disposal of unexploded ordnance
(UXOs) like bombs and missiles. UXOR boasts a tracked platform for excellent off-road
mobility, a manipulator arm with cutting mechanisms, and the ability to operate remotely over
a distance of 1 km.

Beyond the Robotics Department, I also had the opportunity to learn about some of the
broader capabilities of R&D(Engrs):

1.MEMS Fabrication Facility: This state-of-the-art facility allows for the design and creation
of micro-electro-mechanical systems (MEMS), which have a wide range of applications.

2.Kinematic & Dynamic Test Facility: This impressive simulator allows for testing
equipment under various simulated conditions, helping ensure their functionality in different
environments.

3.Computational Mechanics Center: This center features high-performance computers and


advanced software for the design and analysis of complex systems.

21 | P a g e
This list represents just a portion of the impressive machinery and equipment I encountered at
R&D(Engrs). The experience provided valuable insight into the world of defense robotics and
engineering innovation.

22 | P a g e
LEARNING

My internship at the R&D(Engrs) Robotics Department was an exciting journey into the world
of robotics engineering. It provided a fantastic opportunity to not only develop new skills but
also solidify my foundational knowledge in key areas.

Coming into the internship, I had limited experience with MATLAB, a powerful software
program widely used in engineering. To ensure I had the necessary tools for success, I began
by diligently working through introductory courses like "MATLAB onramp" and "Simulink
onramp." These courses provided a solid understanding of the program's basic functionalities
and its capabilities for simulation. Following that, I delved deeper into "Signal Processing in
MATLAB," which equipped me with the essential knowledge to manipulate and analyze
signals, a crucial aspect of my project.

With this strong foundation in place, I was prepared to tackle the project's challenges. The
internship involved using MATLAB to simulate and study concepts related to sound source
localization using microphone arrays. This required me to apply advanced techniques like:

Audio Perception & Sound Localization: I learned how to leverage MATLAB to simulate
real-world scenarios and analyze how sound travels and interacts with its environment.

Signal Processing Techniques: I developed expertise in generating and processing wideband


signals using linear frequency modulated (LFM) waveforms. This broadened my
understanding of how signals can be manipulated for specific purposes, like improving sound
source identification.

Algorithmic Implementation: The project involved translating engineering concepts into


functional code. By implementing algorithms for DOA estimation and triangulation within
MATLAB, I significantly strengthened my ability to bridge the gap between theory and
practical application.

Geometric Techniques: I deepened my understanding of applying geometric principles, like


triangulation, to solve practical engineering problems, such as determining the distance of a
sound source based on microphone array data.

Understanding of Noise Impact: A critical aspect of real-world applications is the presence


of noise. The project provided valuable insights into the challenges noise presents in signal
processing tasks and explored mitigation strategies, such as considering the Signal-to-Noise
Ratio (SNR).

Overall, this internship at R&D(Engrs) proved to be an invaluable experience. I am grateful for


the opportunity to have learned from esteemed scientists and professionals, to build a strong
foundation in MATLAB, and to apply advanced techniques to a real-world engineering
challenge.

23 | P a g e
CHAPTER 4- DETERMINATION OF DOA OF A ULA

Sound Signal of a specific frequency will reach to a Uniform Linear Array


(ULA) of 4 Elements. We need to find the Direction of Arrival.

Figure 4.1- Fundamentals of Uniform Linear Array

In diverse fields such as robotics, audio signal processing, and radar systems, determining the
origins of sound signals holds fundamental significance. At the core of this task lies the crucial
task of estimating the Direction of Arrival (DOA) of a sound signal, a process vital for various
applications and analyzes the variations in amplitude, power, and estimated DOA. The
methodology employed centers around the utilization of a Uniform Linear Array (ULA)
equipped with four microphone elements. Key parameters driving this estimation include the
speed of sound, the frequency of the emitted signal, and the spatial arrangement of the
microphone array. The objective is to achieve an estimation of the direction from which the
sound signal emanates. This endeavor contributes to the foundational understanding of signal
processing but also holds practical implications in refining audio signal analysis.

4.1 What is DOA Estimation?


Direction of Arrival (DOA) estimation refers to the process of determining the angle from
which a sound signal arrives at a sensor array. In our case, a Uniform Linear Array (ULA) is
employed, where microphones are arranged linearly. The goal is to identify the angle of
incidence of a sound signal in relation to the array.

4.2 Significance and Applications:


Accurate DOA estimation has diverse applications, ranging from robotics and human- robot
interaction to sonar systems and radar arrays. In robotics, knowing the direction of sound
sources enhances navigation, obstacle avoidance, and human-robot communication. Similarly,
in radar and sonar systems, DOA estimation is crucial for target localization.

24 | P a g e
4.3 Algorithms for DOA Estimation:

In the realm of Direction of Arrival (DOA) estimation, several algorithms play a pivotal role
in accurately determining the origin of incoming signals. One such algorithm, the Minimum
Variance Distortionless Response (MVDR) algorithm, focuses on minimizing the output power
of an array while maintaining unity gain for the desired signal direction. This makes MVDR
particularly effective in scenarios where interference or noise emanates from various
directions, providing a robust solution for DOA estimation.

Another notable algorithm in this domain is the Multiple Signal Classification (MUSIC)
algorithm. Unlike MVDR, MUSIC aims to identify the angles corresponding to incoming
signals and separate them from noise and interference. This algorithm is particularly useful in
scenarios with multiple signals, showcasing robustness in the presence of noise.

The Estimation of Signal Parameters via Rotational Invariance Techniques (ESPRIT)


algorithm is yet another approach to DOA estimation. ESPRIT leverages the rotational
invariance properties of the array to estimate DOA accurately. This algorithm excels in
scenarios with closely spaced signals, providing high resolution in DOA estimation.

These algorithms, including MVDR, MUSIC, and ESPRIT, represent a subset of the diverse
array of techniques employed in array signal processing for DOA estimation. The choice
among these algorithms depends on the specific characteristics of the signal and the unique
requirements of the application at hand. The field continues to evolve with ongoing research,
offering a rich tapestry of methodologies to address the challenges associated with accurately
determining the direction of incoming signals.

4.4 Which Algorithm is better?

In the provided MATLAB solution, the integration of three prominent algorithms - Minimum
Variance Distortionless Response (MVDR), Multiple Signal Classification (MUSIC), and
Estimation of Signal Parameters via Rotational Invariance Techniques (ESPRIT) - offers a
comprehensive approach to tackle the DOA estimation challenge. This section will outline the
functionality of each algorithm and shed light on why MVDR is a key component in this
particular problem.

4.4.1 MVDR Algorithm: Robustness in Complex Environments

The MVDR algorithm is employed as a foundational method for DOA estimation in the
provided solution. This choice is rooted in the algorithm's ability to provide optimal
performance, particularly in scenarios where the incoming signal is contaminated by
interference or noise from various directions. Here are the key aspects of MVDR that make it
a suitable choice:

25 | P a g e
Minimum Variance Objective: MVDR minimizes the output power of the microphone array
while maintaining unity gain for the desired signal direction. This makes it robust in the
presence of interference or noise from other directions.

Covariance Matrix Utilization: MVDR explicitly considers the covariance matrix of the
received signal. By capturing the statistical relationships between different microphone
elements, MVDR provides a robust and optimal solution for DOA estimation.

Adaptability to Array Configurations: MVDR is well-suited for Uniform Linear Arrays


(ULAs), where the geometry is defined by the positions of microphone elements. The algorithm
considers the spatial arrangement of microphones, making it adaptable to various array
configurations.

4.4.2 MUSIC Algorithm: High Resolution in Source Separation

Fig 4.2- DOA estimation using MUSIC Algorithm


The MUSIC algorithm is a high-resolution method that complements MVDR by providing
additional capabilities, especially in scenarios with closely spaced sources. Its features include:

Spectral Analysis: MUSIC operates in the spectral domain, allowing it to distinguish between
closely spaced sources with high resolution.

Eigenvalue Decomposition: The algorithm involves eigenvalue decomposition of the received


signal's covariance matrix to identify the signal and noise subspaces. This makes it effective in
scenarios with correlated signals.

26 | P a g e
4.4.3 ESPRIT Algorithm: Exploiting Rotational Invariance

Figure 4.3- DOA estimation using ESPIRIT Algorithm

ESPRIT is integrated to leverage the rotational invariance property of ULAs. It provides an


alternative perspective on DOA estimation, contributing to the overall accuracy of the solution.
ESPRIT is a subspace-based algorithm that separates signal and noise subspaces, making it
effective in scenarios with correlated signals. By exploiting the rotational invariance inherent
in ULAs, ESPRIT offers an additional tool for accurate DOA estimation.

4.4.4 Synergy and Algorithmic Integration:


The combination of MVDR, MUSIC, and ESPRIT allows for a comprehensive and robust
solution to DOA estimation. MVDR provides a solid foundation for optimal estimation, while
MUSIC and ESPRIT contribute high resolution and alternative perspectives, respectively. The
integration of these algorithms enhances the overall accuracy, especially in complex acoustic
environments.

4.4.5 Why MVDR is Central to the Solution:


MVDR's central role in the solution stems from its robustness in handling interference and
noise, adaptability to array configurations, and explicit consideration of the covariance matrix.
In scenarios where accuracy and reliability are paramount, MVDR serves as a cornerstone,
ensuring the success of the DOA estimation task in diverse real-world applications.

4.5 Solution to the problem

The provided MATLAB solution tackles the challenge of estimating the direction of arrival
(DOA) of a sound signal within an acoustic environment using a Uniform Linear Array (ULA)
comprising N microphone elements. This problem is fundamental in various applications,
including audio signal processing, sonar systems, and radar arrays, where determining the
origin of a signal is crucial for accurate analysis and interpretation.

27 | P a g e
To elaborate further, the code leverages parameters such as the speed of sound in the air, the
frequency of the emitted sound signal, and the spatial configuration of the microphone array.
The array's geometry is defined by the positions of its elements in a two-dimensional space,
and the inter-element spacing is calculated. Additionally, the position of the sound source is
specified within the environment.

The ULA response matrix is then generated, encapsulating the system's response to incoming
signals from various angles. The received signal at each microphone is computed by taking
into account the distances between the sound source and each microphone element. This
emulates the real-world scenario of sound waves reaching the microphones with distinct delays
based on their spatial positions.

The core of the solution lies in the implementation of the Minimum Variance Distortion less
Response (MVDR) algorithm for DOA estimation. This algorithm involves the calculation of
the covariance matrix of the received signals, an essential step in characterizing the statistical
relationships between the different microphones. To ensure the matrix's invertibility, a
regularization term is introduced, and the regularized inverse of the covariance matrix is
computed. The MVDR spectrum is then calculated for a range of angles, and the angle
corresponding to the maximum MVDR power is identified as the estimated DOA. The solution
systematically investigates the dependencies among amplitude, power, and estimated Direction
of Arrival (DOA), providing a comprehensive analysis of the algorithm's behavior under
diverse signal conditions.

The Minimum Variance Distortionless Response (MVDR) method employed in the MATLAB
code is a sophisticated signal processing technique widely used for Direction of Arrival (DOA)
estimation in array signal processing applications. The MVDR algorithm aims to minimize the
output power of an array while maintaining unity gain for the desired signal direction, making
it particularly effective in scenarios where there may be interference or noise from other
directions.

The key steps in the MVDR algorithm are as follows:

a) Covariance Matrix Calculation (Rxx):


The first step involves computing the covariance matrix ( Rxx ) of the
received signal. This matrix captures the statistical relationships
between different elements of the microphone array. It essentially
describes how each pair of microphones correlates with one another.

28 | P a g e
b) Regularization:
• The covariance matrix is often ill-conditioned, especially when the number of
snapshots (observations) is limited. To address this, a regularization term (epsilon)
is introduced to ensure the matrix is invertible. This regularization is crucial for
stability in the subsequent
computations.
c) Regularized Inverse (Rxx_reg_inv):
• The next step is to calculate the regularized inverse of the covariance matrix. This
involves taking the inverse of the sum of the covariance matrix and the
regularization term. The resulting matrix is used in the
computation of the MVDR spectrum.
d) MVDR Spectrum Calculation:
• The heart of the MVDR algorithm lies in the computation of the MVDR spectrum
for a range of angles. For each angle, a steering vector is constructed, representing
the array's response to a signal arriving from that direction. The MVDR spectrum is
then calculated using this steering
vector and the regularized inverse of the covariance matrix.
e) Direction of Arrival Estimation:
• The angle with the maximum MVDR power in the spectrum is identified
as the estimated direction of arrival. This corresponds to the direction from which
the desired signal is arriving at the array.
f) Analysis with Amplitude and Power
• The solution analyzes the variations between amplitude, power, and
estimated DOA and the results are plotted through tables for the variations
are included

The MVDR method excels in scenarios where the incoming signal may be contaminated by
interference or noise from various directions. By explicitly considering the covariance matrix
of the received signal, the MVDR algorithm provides a robust and optimal solution for DOA
estimation. It is widely utilized in fields such as radar systems, sonar arrays, and microphone
array signal processing in acoustics. Understanding the intricacies of the MVDR method
enhances the appreciation of the code's functionality and its broader implications in real-world
signal processing applications with the study of dependencies of amplitude, power, and
estimated Direction of Arrival (DOA). The code generates two plots to visualize the MVDR
power spectrum in polar coordinates and MVDR power spectrum vs angle.

29 | P a g e
MATLAB SOLUTION ENVIORNMENT:
This MATLAB code simulates a microphone array system to estimate the direction of arrival
(DOA) of a sound source. The system parameters include a speed of sound in air of 343 m/s, a
sound signal frequency of 1000 Hz, and a Uniform Linear Array (ULA) with 4 microphone
elements positioned at [0, 0], [300, 100], [600, 200], and [900, 300] centimeters. The array's
element spacing is determined based on these positions. The sound source is located at [4000,
10000] centimeters. The simulation explores variations in signal amplitude (30 volts) and
employs the Minimum Variance Distortionless Response (MVDR) algorithm to estimate the
DOA. The code computes received signals at each microphone, calculates the MVDR
spectrum, and determines the DOA. Results are presented through plots, including the MVDR
power spectrum versus angle and a polar plot highlighting the estimated DOA. The code also
displays information on the signal amplitude, power, and estimated DOA, providing insights
into the system's performance under different signal conditions.

4.6 MATLAB CODE:


% Parameters
speedOfSound = 343; % Speed of sound in air in m/s
frequency = 1000; % Frequency of the sound signal in Hz
numElements = 4; % Number of microphone elements in the
ULA

% Microphone array positions


micPositions = [0, 0; 300, 100; 600, 200; 900, 300]; % Adjust these
positions as needed in cms
elementSpacing = norm(micPositions(2, :) - micPositions(1, :)); %
Distance between microphone elements

% Sound source position


sourcePosition = [4000, 10000]; % Adjust the position of the sound
source as needed

% Amplitude of the signal in volts (vary this as needed)


signalAmplitude = 100;

% Generate the received signal at each microphone with specified


amplitude
angles = atan2d(sourcePosition(2) - micPositions(:, 2),
sourcePosition(1) - micPositions(:, 1));
distances = sqrt((sourcePosition(1) - micPositions(:, 1)).^2 +
(sourcePosition(2) - micPositions(:, 2)).^2);
receivedSignal = signalAmplitude * exp(1i * 2 * pi * frequency *
distances / speedOfSound).';

% MVDR algorithm to estimate direction of arrival


Rxx = receivedSignal * receivedSignal' / length(distances);
%Covariance matrix

30 | P a g e
epsilon = 1e-4; % Regularization term
Rxx_reg_inv = inv(Rxx + epsilon * eye(size(Rxx)));
% Regularized inverse of the covariance matrix
MVDR_spectrum = zeros(size(angles));

for i = 1:length(angles)
steering_vector = exp(1i * 2 * pi * frequency * elementSpacing /
speedOfSound * (0:numElements-1).' * sind(angles(i)));
MVDR_spectrum(i) = 1 / (steering_vector' * Rxx_reg_inv *
steering_vector);
end

% Find the angle with the maximum MVDRpower


[~, idx] = max(MVDR_spectrum);
estimated_DOA = angles(idx);

% Calculate power
power = signalAmplitude^2;

% Display the results


disp(['Amplitude of the Signal: ' num2str(signalAmplitude) '
Volts']);
disp(['Power Calculated: ' num2str(power) ' Watts']);
disp(['Estimated Direction of Arrival: ' num2str(estimated_DOA)
' degrees']);

% Plot the results


figure;

% Plot MVDR spectrum vs. angle


subplot(2,1,1);
plot(angles, MVDR_spectrum, 'LineWidth', 2);
title('MVDR Power Spectrum vs. Angle');
xlabel('Angle (degrees)');
ylabel('MVDR Power Spectrum');

hold on;

plot(estimated_DOA, max(MVDR_spectrum), 'ro', 'MarkerSize', 10,


'LineWidth', 2);
hold off;

% Plot polar plot forDOA

subplot(2,1,2);
polarplot(deg2rad(angles), abs(MVDR_spectrum), 'LineWidth', 2);
% Use abs() to plot the magnitude
title('MVDR Power Spectrum in Polar Coordinates');

31 | P a g e
hold on;
polarplot(deg2rad(estimated_DOA), max(abs(MVDR_spectrum)), 'ro',
'MarkerSize', 10, 'LineWidth', 2);
hold off;

OUTPUT:

32 | P a g e
Figure 4.4- Results of DOA estimation using MVDR Algorithm

Fig 4.5- Graphs of DOA estimation using MVDR Algorithm

33 | P a g e
4.7 Observations

Table for Amplitude, Power & DOA Variation:

Amplitude(Volts) Power(Watts) DOA (degrees)


1 1 68.1986
2 4 68.1986
5 25 70.8664
10 100 68.1986
20 400 69.5074
30 900 68.1986
60 2500 68.1986
100 10000 69.5074

Table 1: Amplitude & Power vs DOA

From the above results we can conclude that, on changing the amplitude values the Power
varies, but there is almost a negligible change in the Direction of Arrival (DOA).
It is also observed that on changing the Position of the Microphone or the Sound Source, there
is a change in the Direction of Arrival.

34 | P a g e
CHAPTER 5- TRIANGULATION & DETERMINATION OF
SOUND SOURCE LOCATION

Triangulation using 2 ULA & find the distance of Sound Source

Figure 5.1- Source Localization Using Generalized Cross Correlation

The fundamental problem addressed in this task is the determination of the spatial position
of a sound source emitting a wideband signal within an acoustic environment. Traditional
methods often involve single-array DOA estimation, but this task innovatively combines
two ULAs to enhance accuracy. The use of two arrays adds complexity but significantly
improves the robustness of the localization process. Additionally, the impact of noise on
Direction of arrival before and after the noise is added is also studied.

5.1 Application in the Field:

The applications of sound source localization are diverse, with critical implications in
various industries. In robotics, knowing the location of a sound-emitting object enhances
the robot's ability to interact with its environment. In radar systems and audio signal
processing, accurate localization is vital for nuanced analysis and interpretation of
incoming signals.

5.2 What is Triangulation?


Triangulation, a fundamental geometric method, is employed to determine the location of
a point by measuring angles from known points. In this task, triangulation involves
estimating the DOA from two ULAs and calculating the source's position using
trigonometric principles. This spatial localization method has proven effectiveness in
scenarios requiring accuracy and reliability using GCC-PHAT Algorithm.

35 | P a g e
5.3 Understanding GCC-PHAT Algorithm:
The Generalized Cross-Correlation with Phase Transformation (GCC-PHAT) algorithm
plays a crucial role in the project. This algorithm is specifically chosen for its effectiveness
in handling wideband signals. Unlike traditional DOA estimation algorithms based on phase
differences, GCC-PHAT utilizes time-of-arrival differences, making it well-suited for the
complexities associated with wideband signals. This algorithm is particularly relevant for
scenarios where conventional methods might falter.

5.4 Step-by-Step Solution:


a. Source and Sensor Geometry:
The foundation of the project lies in defining the geometry of the sound source and
the two ULAs.
The positions, velocities, and orientations of the ULAs and the sound source are
meticulously specified.
The accuracy of subsequent simulations and calculations heavily relies on the
precise setup of these parameters.

b. Waveform Generation:
A crucial step involves generating a wideband signal using a linear frequency
modulated (LFM) waveform.
Parameters such as carrier frequency, propagation speed, pulse characteristics, and
bandwidth are considered to accurately model the emitted signal.
The choice of a wideband signal necessitates the use of the GCC-PHAT algorithm for
DOA estimation, as traditional methods relying on phase differences are not suitable for
wideband signals.

c. Radiation and Propagation:


The Phased Array System Toolbox in MATLAB is leveraged to simulate the propagation
of the wideband signal from the source to the ULAs.
The WidebandRadiator and WidebandCollector components ensure that the simulation
captures the complexities associated with wideband systems, such as frequency-
dependent propagation effects.
Accurate simulation is crucial for obtaining realistic received signals at the ULAs,
considering factors like signal dispersion and propagation delays.

d. Addition of Noise and GCC-PHAT Estimation:


The Noise is added to the signal with specific value of Signal to Noise ratio-10dB which
can be varied accordingly
The Generalized Cross-Correlation with Phase Transformation (GCC-PHAT) algorithm
is employed for Direction of Arrival (DOA) estimation.

36 | P a g e
GCC-PHAT is chosen due to its effectiveness in handling wideband signals by focusing
on time-of-arrival differences.
The algorithm calculates the cross-correlation of the received signals from each ULA,
considering phase transformations that enhance accuracy in DOA estimates.

e. Triangulation:

Fig 5.2- Triangulation Setup

Triangulation is a fundamental geometric method used to determine the spatial position


of the sound source.
Assuming that the sensor arrays are aligned along the x-axis, lines are drawn from the
ULAs along the estimated directions-of-arrival.
The intersection of these lines yields the spatial coordinates of the sound source.
Trigonometric principles are applied to calculate the source's position using the estimated
DOA angles.

f. Results Visualization:
The project concludes with a 3D scatter plot that visually compares the estimated source
position with the true source position.
The plot provides a tangible representation of the accuracy and reliability of the
triangulation method.
Visualization is crucial for understanding the effectiveness of the localization approach
and gaining insights into any potential deviations between the estimated and true
positions.
The output consists of the values of the estimated DOA/source position before and after
addition of noise.

MATLAB SOLUTION ENVIORNMENT:


This MATLAB code models a system to locate a sound source using two microphone
arrays. The setup consists of four microphones in each array, positioned at [0,0,0] and
[50,0,0] meters, with the sound source at [30,100,0]. The sound signal is generated using
a linear frequency-modulated waveform with parameters like carrier frequency (300
kHz), pulse repetition frequency, and bandwidth. The signals undergo free-space

37 | P a g e
propagation, adding noise with a specified signal-to-noise ratio. The direction of arrival
(DOA) is estimated using the Generalized Cross-Correlation (GCC) method for both
noiseless and noisy scenarios. The code then calculates and visualizes the estimated 3D
position of the source, comparing it with the true position. This simulation allows for
evaluating the accuracy of the sound source localization system. The code provides
insights into the system's performance under various conditions, assessing its ability to
accurately locate a sound source in a 3D space.

KEY PARAMETERS:
Number of microphones: 4 per array Distance between arrays: 50 meters Source
position: [30, 100, 0] meters
Waveform parameters: Carrier frequency (300 kHz), pulse repetition frequency, and
bandwidth
Signal-to-noise ratio: 10 dB

5.5 MATLAB Code:

% Source and Sensor Geometry L = 50;


N = 4;
rxULA = phased.ULA('Element',phased.OmnidirectionalMicrophoneElement,...
'NumElements',N);

rxpos1 = [0;0;0];
rxvel1 = [0;0;0];
rxax1 = azelaxes(90,0);
rxpos2 = [L;0;0];
rxvel2 = [0;0;0]; rxax2 = rxax1;

srcpos = [30;100;0];
srcvel = [0;0;0];
srcax = azelaxes(-90,0);
srcULA = phased.OmnidirectionalMicrophoneElement;

% Define Waveform fc = 300e3;


c = 1500;
dmax = 150;
pri = (2*dmax)/c; prf = 1/pri;
bw = 100.0e3;
fs = 2*bw; waveform =
phased.LinearFMWaveform('SampleRate',fs,'SweepBandwidth',bw,...
'PRF',prf,'PulseWidth',pri/10);
signal = waveform();

% Radiate, Propagate, and Collect Signals

38 | P a g e
nfft = 128;
radiator = phased.WidebandRadiator('Sensor',srcULA,...
'PropagationSpeed',c,'SampleRate',fs,... 'CarrierFrequency',fc,'NumSubbands',nfft);
collector1 = phased.WidebandCollector('Sensor',rxULA,...
'PropagationSpeed',c,'SampleRate',fs,... 'CarrierFrequency',fc,'NumSubbands',nfft);
collector2 = phased.WidebandCollector('Sensor',rxULA,...
'PropagationSpeed',c,'SampleRate',fs,... 'CarrierFrequency',fc,'NumSubbands',nfft);

channel1 = phased.WidebandFreeSpace('PropagationSpeed',c,...
'SampleRate',fs,'OperatingFrequency',fc,'NumSubbands',nfft);
channel2 = phased.WidebandFreeSpace('PropagationSpeed',c,...
'SampleRate',fs,'OperatingFrequency',fc,'NumSubbands',nfft);

[~,ang1t] = rangeangle(rxpos1,srcpos,srcax);
[~,ang2t] = rangeangle(rxpos2,srcpos,srcax);

sigt = radiator(signal,[ang1t ang2t]);


sigp1 = channel1(sigt(:,1),srcpos,rxpos1,srcvel,rxvel1);
sigp2 = channel2(sigt(:,2),srcpos,rxpos2,srcvel,rxvel2);

[~,ang1r] = rangeangle(srcpos,rxpos1,rxax1);
[~,ang2r] = rangeangle(srcpos,rxpos2,rxax2);

sigr1 = collector1(sigp1,ang1r); sigr2 = collector2(sigp2,ang2r);


% Add noise to the received signals
SNR_dB = 10; % Signal-to-Noise Ratio in decibels noisePower = 10^(-SNR_dB/10);

noise1 = sqrt(noisePower/2) * (randn(size(sigr1)) + 1i * randn(size(sigr1)));


noise2 = sqrt(noisePower/2) * (randn(size(sigr2)) + 1i * randn(size(sigr2)));

sigr1_with_noise = sigr1 + noise1; sigr2_with_noise = sigr2 + noise2;

% GCC Estimation and Triangulation


doa1 = phased.GCCEstimator('SensorArray',rxULA,'SampleRate',fs,...
'PropagationSpeed',c);
doa2 = phased.GCCEstimator('SensorArray',rxULA,'SampleRate',fs,...
'PropagationSpeed',c);

angest1 = doa1(sigr1); angest2 = doa2(sigr2);


angest1_with_noise = doa1(sigr1_with_noise); angest2_with_noise =
doa2(sigr2_with_noise);

39 | P a g e
% Display the DOA for both arrays disp('True DOA for Array 1:'); disp(ang1t);
disp('True DOA for Array 2:'); disp(ang2t);
disp('Estimated DOA for Array 1 (Without Noise):'); disp(angest1);
disp('Estimated DOA for Array 2 (Without Noise):'); disp(angest2);

disp('Estimated DOA for Array 1 (With Noise):'); disp(angest1_with_noise);


disp('Estimated DOA for Array 2 (With Noise):'); disp(angest2_with_noise);
yest = L/(abs(tand(angest1)) + abs(tand(angest2))); xest = yest*abs(tand(angest1));
zest = 0;
srcpos_est = [xest;yest;zest];
disp('Estimated Source Position:[x,y,z] Co-ordinates'); disp(srcpos_est);

% Visualize Estimated Source Position figure;


% Plot the estimated source position
scatter3(srcpos_est(1), srcpos_est(2), srcpos_est(3), 100, 'ro', 'LineWidth', 2); % Use
100 for SizeData
hold on;

% Plot the true source position


scatter3(srcpos(1), srcpos(2), srcpos(3), 100, 'go', 'LineWidth',2);
% Use 100 for SizeData

% Set labels and title xlabel('X-axis');


ylabel('Y-axis');
zlabel('Z-axis');
title('Estimated Source Position vs True Source Position');
% Add legend
legend('Estimated Source Position', 'True Source Position');

% Set axis limits based on the true source position


axis([0 max(srcpos(1), srcpos_est(1)) + 10 0 max(srcpos(2), srcpos_est(2)) + 10 0
max(srcpos(3), srcpos_est(3)) + 10]);
% Add grid for better visualization grid on;
hold off;

40 | P a g e
OUTPUT:

Fig 5.3- Source Localization using Triangulation Results

Fig 5.4- Source Localization using Triangulation Plot

41 | P a g e
CHAPTER 6- IMPACT OF NOISE ON DOA

Noise and its impact on Direction of Arrival of the Actual Signal

The problem addressed in this chapter is adding gaussian noise to the signal in the chapter
1 and determining the DOA after addition of noise. A detail study of noise addition and
the effects after addition of noise on the DOA has been made. Also the power and
Amplitude values are calculated before and after addition of noise

6.1 Introduction of Noise:


To introduce realism, Gaussian noise is added to the received signal. The Signal-to- Noise
Ratio (SNR) is controlled as a parameter, allowing for systematic investigation of how
noise impacts DOA estimation. Noise is a crucial consideration as real-world signals are
rarely free from interference. The code illustrates how to apply the MVDR algorithm to
estimate DOA in the presence of noise, maintaining stability through a regularization
term.

6.2 Application in the Field:


Understanding how algorithms behave in the presence of noise is essential in practical
applications such as acoustic sensing, radar systems, or wireless communication.
Robustness to noise is a critical factor in ensuring reliable performance in diverse and
challenging environments. Real-world scenarios demand algorithms that can effectively
extract meaningful information from noisy signals.

6.3 Significance of Noise in Signal Processing:


In real-world scenarios, signals are rarely pristine and often contaminated by various
forms of interference, commonly referred to as noise. This noise can arise from
environmental factors, electronic components, or other sources, and it poses a significant
challenge in accurately extracting and interpreting the desired signal. In the context of
DOA estimation, where precise knowledge of the signal's origin is paramount, the
presence of noise can introduce uncertainties and affect the reliability of estimation
algorithms.

6.4 The Role of Signal-to-Noise Ratio (SNR):


The Signal-to-Noise Ratio (SNR) is a critical metric that quantifies the relative strength
of the desired signal to the background noise. A higher SNR indicates a stronger signal
relative to the noise, making it easier to discern and analyze. Conversely, a lower SNR
implies that the signal is closer in magnitude to the noise, making it more challenging to
accurately extract meaningful information.

6.5 Solution to the problem:


The MATLAB code provided addresses a critical aspect of real-world signal processing—
source localization—in a more realistic scenario by incorporating the impact of noise. The
initial section of the code focuses on estimating the direction of arrival (DOA) of a sound
signal using the Minimum Variance Distortionless Response (MVDR) algorithm. This

42 | P a g e
algorithm is known for its efficacy in extracting signals of interest in the presence of
interference and noise, making it a valuable tool for DOA estimation in challenging
environments.

The clean received signal is generated by considering the positions of the microphone
array elements and the known location of the sound source. The MVDR algorithm,
implemented with regularization to ensure stability, is then applied to estimate the DOA.
The results are visualized through MVDR power spectra plots, providing a clear depiction
of the directional sensitivity of the microphone array.

The code introduces noise to the received signal. This is a crucial consideration as real-
world signals are often contaminated by various forms of interference. The Signal- to-
Noise Ratio (SNR) is controlled as a parameter, allowing for the systematic investigation
of how noise affects the accuracy of DOA estimation. Gaussian noise is added to the
signal, and the MVDR algorithm is reapplied to estimate the DOA in the presence of this
noise. This step provides valuable insights into the algorithm's robustness and
performance in practical, noisy conditions. Next step analyzes and compares power and
amplitude before and after the addition of noise.

6.6 Impact of Noise on Power and Amplitude:


The MVDR algorithm, chosen for its ability to mitigate interference and enhance signal
extraction, is not immune to the effects of noise. The regularization term introduced in
the algorithm helps maintain stability in the presence of noise, but it is crucial to
understand how varying SNR levels influence the algorithm's performance. As illustrated
in the provided code, the addition of noise introduces fluctuations in the MVDR power
spectra, influencing the accuracy of DOA estimation.

6.7 Impact of Noise on Power and Amplitude:


The impact of noise on power and amplitude is evident in the plotted results. When noise
is introduced to the received signal, there is a noticeable increase in the power, reflecting
the influence of random fluctuations. The amplitude, representing the signal's strength, is
also affected, exhibiting variations due to noise-induced distortions.

6.8 Practical Implications and Strategies:


In practical applications such as acoustic sensing, radar systems, or wireless
communication, understanding the algorithm's behavior in the presence of noise is
essential. A lower SNR may lead to increased uncertainties in DOA estimation,
potentially affecting the system's overall performance. Mitigation strategies may include
employing more advanced signal processing techniques, adaptive algorithms that
dynamically adjust to changing noise conditions, or even hardware solutions aimed at
minimizing noise during signal acquisition.

6.9 Visual Representation and Interpretation:


The four plots compare MVDR power spectra with and without noise in a sound signal.
The first two plots depict MVDR power spectrum characteristics without noise,
showcasing the estimated Direction of Arrival (DOA). The next two plots introduce noise,

43 | P a g e
highlighting the algorithm's performance under noisy conditions. Quantitative DOA
comparisons are provided for both scenarios. Additional plots illustrate power and
amplitude changes due to noise. These visualizations offer a concise assessment of the
MVDR algorithm's reliability and directional accuracy in the presence of noise.

Figure 6.1- Signal and Noise

Figure 6.2- Combination of Signal and Noise

MATLAB SOLUTION ENVIRONMENT


This MATLAB code simulates a microphone array system for direction of arrival (DOA)
estimation in noise-free and noisy conditions. Key parameters include a speed of sound
of 343 m/s, a signal frequency of 1000 Hz, and a four-element Uniform Linear Array
(ULA) positioned at [0, 0], [5, 0], [10, 0], and [15, 0]. The sound source is located at [7.5,
20]. The Minimum Variance Distortionless Response (MVDR) algorithm is utilized for
DOA estimation. In the presence of noise, with a signal-to-noise ratio of 10 dB, the
algorithm's performance is evaluated. The code further analyzes and compares power and
amplitude, displaying results through plots. This simulation enables a comprehensive
understanding of the system's efficacy in estimating sound source direction under
different signal conditions.

44 | P a g e
6.10 MATLAB CODE:
% Parameters
speedOfSound = 343; % Speed of sound in air in m/s
frequency = 1000; % Frequency of the sound signal in Hz
numElements = 4; % Number of microphone elements in the ULA

% Microphone array positions


micPositions = [0, 0; 5, 0; 10, 0; 15, 0]; % Adjust these positions as needed in cms
elementSpacing = norm(micPositions(2, :) - micPositions(1, :)); % Distance between
microphone elements
% Sound source position
sourcePosition = [4000, 10000]; % Adjust the position of the sound source as needed

% Amplitude of the signal in volts (vary this as needed) signalAmplitude = 10;

% Add noise parameters


SNR_dB = -3; % Signal-to-noise ratio in dB
noisePower = 10^(-SNR_dB / 10); % Noise power based on SNR
% Generate the received signal at each microphone with specified amplitude and noise
angles = atan2d(sourcePosition(2) - micPositions(:, 2), sourcePosition(1) -
micPositions(:, 1));
distances = sqrt((sourcePosition(1) - micPositions(:, 1)).^2 + (sourcePosition(2) -
micPositions(:, 2)).^2);

receivedSignal = signalAmplitude * exp(1i * 2 * pi * frequency * distances /


speedOfSound).';
% Generate noise signal
noise = sqrt(noisePower/2) * (randn(size(receivedSignal)) + 1i *
randn(size(receivedSignal)));

% Add noise to the received signal


receivedSignalWithNoise = receivedSignal + noise;
% MVDR algorithm to estimate direction of arrival without noise
Rxx = receivedSignal * receivedSignal' / length(distances); %Covariance matrix
epsilon = 1e-4; % Regularization term
Rxx_reg_inv = inv(Rxx + epsilon * eye(size(Rxx))); % Regularized inverse of the
covariance matrix
MVDR_spectrum_without_noise = zeros(size(angles));

for i = 1:length(angles)
steering_vector = exp(1i * 2 * pi * frequency * elementSpacing / speedOfSound *
(0:numElements-1).' * sind(angles(i)));

45 | P a g e
MVDR_spectrum_without_noise(i) = 1 / (steering_vector' * Rxx_reg_inv *
steering_vector);
end
% Find the angle with the maximum MVDR power without noise [~, idx] =
max(MVDR_spectrum_without_noise); estimated_DOA_without_noise = angles(idx);

% MVDR algorithm to estimate direction of arrival with noise Rxx_with_noise =


receivedSignalWithNoise * receivedSignalWithNoise'
/ length(distances); % Covariance matrix with noise Rxx_reg_inv_with_noise =
inv(Rxx_with_noise + epsilon * eye(size(Rxx_with_noise))); % Regularized inverse of
the covariance matrix with noise
MVDR_spectrum_with_noise = zeros(size(angles));
for i = 1:length(angles)
steering_vector = exp(1i * 2 * pi * frequency * elementSpacing / speedOfSound *
(0:numElements-1).' * sind(angles(i)));
MVDR_spectrum_with_noise(i) = 1 / (steering_vector' * Rxx_reg_inv_with_noise *
steering_vector);
end
% Find the angle with the maximum MVDR power with noise [~, idx] =
max(MVDR_spectrum_with_noise); estimated_DOA_with_noise = angles(idx);
% Calculate power without noise

power_without_noise = signalAmplitude^2;
% Calculate power with noise
power_with_noise = mean(abs(receivedSignalWithNoise).^2);

% Display the results


disp(['Amplitude without Noise: ' num2str(signalAmplitude) ' Volts']);
disp(['Power without Noise: ' num2str(power_without_noise) ' Watts']);
disp(['Estimated Direction of Arrival without Noise: '
num2str(estimated_DOA_without_noise) ' degrees']); disp(' ');
disp(['Amplitude with Noise: ' num2str(signalAmplitude) ' Volts']); disp(['Power with
Noise: ' num2str(power_with_noise) ' Watts']); disp(['Estimated Direction of Arrival
with Noise: ' num2str(estimated_DOA_with_noise) ' degrees']);

% Plot the results figure;


% Plot MVDR spectrum vs. angle without noise subplot(2,2,1);
plot(angles, MVDR_spectrum_without_noise, 'LineWidth', 2); title('MVDR Power
Spectrum vs. Angle (Without Noise)'); xlabel('Angle (degrees)');
ylabel('MVDR Power Spectrum');

hold on;
plot(estimated_DOA_without_noise, max(MVDR_spectrum_without_noise), 'ro',

46 | P a g e
'MarkerSize', 10, 'LineWidth', 2);
hold off;

% Plot MVDR spectrum vs. angle with noise subplot(2,2,2);


plot(angles, MVDR_spectrum_with_noise, 'LineWidth', 2); title('MVDR Power
Spectrum vs. Angle (With Noise)'); xlabel('Angle (degrees)');
ylabel('MVDR Power Spectrum');
hold on;
plot(estimated_DOA_with_noise, max(MVDR_spectrum_with_noise), 'ro',
'MarkerSize', 10, 'LineWidth', 2);
hold off;

% Plot polar plot for DOA without noise subplot(2,2,3);

polarplot(deg2rad(angles), abs(MVDR_spectrum_without_noise), 'LineWidth', 2); %


Use abs() to plot the magnitude
title('MVDR Power Spectrum in Polar Coordinates (Without Noise)');
% Highlight the estimated DOA without noise hold on;
polarplot(deg2rad(estimated_DOA_without_noise),
max(abs(MVDR_spectrum_without_noise)), 'ro', 'MarkerSize', 10, 'LineWidth', 2);
hold off;

% Plot polar plot for DOA with noise subplot(2,2,4);


polarplot(deg2rad(angles), abs(MVDR_spectrum_with_noise), 'LineWidth', 2); % Use
abs() to plot the magnitude
title('MVDR Power Spectrum in Polar Coordinates (With Noise)');

% Highlight the estimated DOA with noise hold on;


polarplot(deg2rad(estimated_DOA_with_noise),
max(abs(MVDR_spectrum_with_noise)), 'ro', 'MarkerSize', 10, 'LineWidth', 2);
hold off;

47 | P a g e
OUTPUT:

Figure 6.3- Noise Addition Effect on DOA Result

48 | P a g e
49 | P a g e
Figure 6.4- Noise Addition Effect on DOA Graphs

6.11 Observations

Table for Amplitude, Power & DOA Variation:

Without Noise With Noise

Amplitude Power DOA Amplitude Power DOA


(Volts) (Watt) (degrees) (Volts) (Watts) (degrees)
1 1 68.1986 1 1.4859 68.2233
2 4 68.1986 2 4.1254 68.2233
5 25 68.2233 5 31.1473 68.1986
10 100 68.2727 10 97.9774 68.2727
20 400 68.2233 20 407.2255 68.2233
30 900 68.2727 30 897.3988 68.1986
50 2500 68.1986 50 2530.7352 68.2727
100 10000 68.1986 100 10043.2464 68.2233

Table 2: Amplitude & Power vs DOA With & Without Noise

From the above results we can conclude that, on changing the amplitude, there is almost
a negligible change in the Direction of Arrival (DOA) with and without noise.
But on addition of noise a change in the Signal Power is observed.

50 | P a g e
CHAPTER 7- ANALYSIS

7.1 Amplitude and Power Variation:


- The project initially explores how changes in the amplitude and power of a signal affect
the estimated direction of arrival (DOA) using a microphone array.
- Findings indicate that the relationship between amplitude/power and DOA is
straightforward and there is negligible variance in the DOA on changing Amplitudes.
- The geometry of the microphone array and the complexity of the sound field play
crucial roles in DOA estimation.

7.2 Triangulation Using Two Arrays:


- The project introduces a more advanced method called triangulation, which uses two
Uniform Linear Arrays (ULAs) to locate a sound source emitting a wideband signal.
- The Generalized Cross-Correlation with Phase Transformation (GCC-PHAT)
algorithm is applied for DOA estimation.
- The triangulation method involves determining the spatial position of the sound source
by measuring angles from known points.

7.3 Adding Noise and MVDR Algorithm:


- Noise is added to the signal from Chapter 3. This is crucial because actual signals often
contain interference.
- The Signal-to-Noise Ratio (SNR) is controlled to study how noise affects the Minimum
Variance Distortionless Response (MVDR) algorithm, commonly used for DOA
estimation.
- The MVDR algorithm is effective in handling noise, and the analysis includes
visualizations of MVDR power spectra, comparing scenarios with and without noise. In
short, the analysis delves into the complexities of sound source localization, considering
factors like amplitude, power, array geometry, and noise. The project uses advanced
algorithms like GCC-PHAT and MVDR to enhance the accuracy of direction estimation,
providing insights into the challenges and robustness of these methods in practical, noisy
environments.

51 | P a g e
CHAPTER 8- SOFTWARE LEARNT

My internship was a deep dive into MATLAB. I began with foundational courses: MATLAB
Onramp for workspace navigation, Simulink Onramp for simulations, and Signal and image
processing courses to analyze data. I also explored Deep Learning concepts, giving me a
glimpse into the future of computational techniques.

My project leveraged MATLAB's extensive toolbox library. The Phased Array System
Toolbox became essential for simulating sound wave propagation, considering factors like
obstacles and microphone geometry. The Signal Processing Toolbox provided functionalities
for core tasks and direction of arrival (DOA) estimation, a crucial capability for applications
like robot navigation.

Beyond toolboxes, I explored algorithms like MVDR, which excelled at extracting signals for
DOA estimation in noisy environments. However, for my project's wideband signals, the
GCC-PHAT algorithm, focusing on time-of-arrival differences, proved more suitable.

By the end, MATLAB wasn't just software; it was my engineering toolkit. I built a strong
foundation in core functionalities, explored advanced toolboxes and algorithms, and gained
valuable skills in signal processing, sound wave analysis, and DOA estimation. This skillset
will undoubtedly benefit my future endeavors in various engineering fields.

Figure 7: Basic MATLAB Certifications

52 | P a g e
CHAPTER 9- CONCLUSION

My internship focused on utilizing MATLAB for sound source localization within a defense
organization. This experience not only bolstered my technical skills but also refined important
behavioral skills crucial in professional settings.

Technical Skills:

✓ MATLAB Expertise: I gained proficiency in core MATLAB functionalities and


explored advanced toolboxes like Phased Array System and Signal Processing.

✓ Signal Processing Techniques: I learned to apply signal processing techniques for


noise reduction and direction of arrival (DOA) estimation using algorithms like MVDR
and GCC-PHAT.

✓ Algorithmic Exploration: This internship provided an opportunity to delve into


specific algorithms and understand their strengths and weaknesses for different
applications.

Behavioral Skills:

✓ Time Management: Adhering to the organization's strict 9-to-5 work schedule


instilled strong time management skills, allowing me to prioritize tasks and meet
deadlines efficiently.

✓ Discipline: The organization's policy prohibiting mobile phone usage within the
premises fostered a culture of discipline and focused work ethic. I learned to manage
distractions and prioritize tasks effectively.

✓ Professionalism: Interacting with professional engineers and adhering to professional


communication standards enhanced my ability to present myself and my work in a
polished and confident manner.

✓ Project Management: The internship required me to manage my project timeline and


effectively utilize the resources available within MATLAB.

Areas for Improvement:

✓ Deep Learning Integration: While I was introduced to Deep Learning concepts, I


would like to further explore its potential applications in signal processing, particularly
for complex noise reduction scenarios.

✓ Real-World Data Integration: The project primarily focused on simulations.


Integrating real-world sound data into future projects would provide valuable insights
into the practical application of the learned techniques.

53 | P a g e
✓ Collaboration: While I had interactions with my supervisor, I would like to explore
opportunities for more collaborative work in future projects. This would allow me to
learn from the expertise of others and refine my teamwork skills.

✓ Communication (Technical & Non-Technical): While I honed my technical


communication skills presenting my project findings, I would like to develop my ability
to explain complex technical concepts to a non-technical audience. This would enhance
my ability to effectively communicate project outcomes to a wider range of
stakeholders.

The project systematically investigated three key aspects of sound source localization. Initially,
it examined amplitude and power variations in relation to estimated DOA, shedding light on
the complexities influenced by array geometry and signal field characteristics. The
triangulation task showcased the innovative use of two ULAs, emphasizing the potential for
improved accuracy in spatial localization. The final task delved into the practical challenges
posed by noise, introducing Gaussian noise and evaluating its impact on the MVDR algorithm.
This comprehensive analysis not only demonstrated the robustness of the MVDR algorithm
but also underscored the significance of noise management in real-world scenarios.

For future enhancements, the project suggests avenues for improvement in adaptive signal
processing techniques. Strategies could involve refining algorithms to better handle non-linear
variations in amplitude and power, exploring advanced noise reduction methods, and
optimizing array configurations for increased precision in sound source localization.
Additionally, considering real-world applications, further research could focus on
implementing these techniques in diverse environments, such as robotics, radar systems, and
wireless communication, to validate their effectiveness and broaden their scope of application.

Overall, this internship within a defense organization was an enriching experience that
significantly enhanced both my technical skillset and instilled valuable behavioral skills. I am
confident that the knowledge, experience, and professionalism I gained will be a valuable asset
in my future career path.

54 | P a g e
CHAPTER 10- REFERENCES

[1] C. Fernández Scola and M. D. Bolaños Ortega, "Direction of arrival estimation –


A two microphones approach," Blekinge Institute of Technology, September 2010.

[2] A. Canclini, F. Antonacci, A. Sarti, and S. Tubaro, "Distributed 3D Source


Localization from 2D DOA Measurements Using Multiple Linear Arrays," Published
25 October 2017, Italy.

[3] A. Dehghan Firoozabadi, P. Irarrazaval, P. Adasme, D. Zabala-Blanco, P.


Palacios Játiva, and C. Azurdia-Meza, "3D Multiple Sound Source Localization by
Proposed T-Shaped Circular Distributed Microphone Arrays in Combination with
GEVD and Adaptive GCC- PHAT/ML Algorithms," Santiago 7800002, Chile.

[4] https://in.mathworks.com/help/phased/direction-of-arrival-doa-estimation-1.html

[5] https://in.mathworks.com/videos/matlab-and-simulink-robotics-arena-direction-
of-arrival- with-matlab-
1504107605701.html?s_tid=srchtitle_site_search_2_Direction%20of%20Arrival

[6] https://in.mathworks.com/help/phased/ug/source-localization-using-
generalized-cross- correlation.html

55 | P a g e

You might also like