Code covered by the BSD License  

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Direction of Arrival Estimation with MUSIC Algorithm

3.6 | 8 ratings Rate this file 66 Downloads (last 30 days) File Size: 2.17 KB File ID: #28650 Version: 1.0
image thumbnail

Direction of Arrival Estimation with MUSIC Algorithm


Tanyer Alan (view profile)


Function of MUSIC Algorithm [ Direction of Arrival Estimation ]

| Watch this File

File Information

In many practical signal processing problems, the objective is to estimate from measurements a set of constant parameters upon which the received signals depend.
For example, high-resolution direction-of-arrival (DOA) estimation is important in many sensor systems such as radar, sonar, electronic surveillance, and seismic exploration. High-resolution frequency estimation is important in numerous applications, recent examples of which include the design and control of robots and large flexible space structures. In such problems, the functional form of the underlying signals can often be assumed to be known (e.g., narrow-band plane waves, cisoids). The quantities to be estimated are parameters (e.g., frequencies and
DOA's of plane waves, cisoid frequencies) upon which the sensor outputs depend, and these parameters are assumed to be constant.

There have been several approaches to such problems including the so-called maximum likelihood (ML) method of Capon (1969) and Burg's (1967) maximum entropy (ME) method. Although often successful and widely used, these methods have certain fundamental limitations (especially bias and sensitivity in parameter estimates), largely because they use an incorrect model (e.g., AR rather than special ARMA) of the measurements. Pisarenko (1973) was one of the first to exploit the structure of the data model, doing so in the context of estimation of parameters of cisoids in additive noise using a covariance approach. Schmidt (1977) and independently Bienvenu (1979) were the first to correctly exploit the measurement
model in the case of sensor arrays of arbitrary form. Schmidt, in particular, accomplished this by first deriving a complete geometric solution in the absence of
noise, then cleverly extending the geometric concepts to obtain a reasonable approximate solution in the presence of noise. The resulting algorithm was called MUSIC (Multiple SIgnal Classification) and has been widely studied. In a detailed evaluation based on thousands of simulations, M.I.T.'s Lincoln Laboratory concluded that, among currently accepted high-resolution algorithms, MUSIC was the most promising and a leading candidate for further study and actual hardware implementation. However, although the performance advantages of MUSIC are substantial, they are achieved at a considerable cost in computation (searching over parameter space) and storage (of array calibration data).

MATLAB release MATLAB 7.8 (R2009a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (23)
21 Apr 2016 Kursat

Kursat (view profile)

g_aci: user incoming angels
sayak: There is no "sayak" in code
toplam_sinyal: total of User source signal in antenna element
yayilma: direction vectors

Comment only

@Kursat, can you please give a detailed explaination of your code.
What is g_aci, sayak, toplam_sinyal, gurultu, yayilma. what are these variables? It would very helpful as i am doing a project on music algorithm.

Comment only
11 Apr 2016 Kursat

Kursat (view profile)

This code is mine.

i_say: Input number of mobile user
or_say: Example number
e_say: Antenna number

Comment only
25 Mar 2016 serdar türkan

hi, please tell what is the 'i_say' , 'or_say', 'e_say'?

Comment only
25 Jan 2016 Minjie Wu  
23 Jan 2015 gv ravi kumar

please tell what do you mean by "%isaratlerin retilmesi"
%Her bir sinyal iin dizi yaylma vektrnn retilmesi

Comment only
21 Jan 2015 Herman

Herman (view profile)

Hi, i'm receiving an error message saying undefined lamba. What shall i do?


Comment only
30 Sep 2013 Nick Spencer  
16 May 2013 Michael White

Google Translate says "Sirali deger" is Turkish for "row value", and "Özdeğerler" means "eigenvalue".

Comment only
04 Apr 2013 Harini

Harini (view profile)

What or where is Sirali_deger?

Comment only
22 Mar 2012 Zhang

Zhang (view profile)

14 Mar 2012 rahul mandwariya  
08 Jan 2012 PChoppala

Hey mate, can you do the comments in english?

23 Nov 2011 Bilal Hasan Qureshi

Dear all,

The english translation is written below

1) please enter the SNR value (max = 0 min=100)

2)if the number of antenna is below the minimun value, The minumum value will be used.

3)Enter the antenna number (for minimum please enter 0)

I hope it helps you while running the code. !

I have one more question,

how we can apply music algorithm with single user and antenna array to find the directional of arrival ?

I can see in the graph of this code, is finally the separation of different users and not the direction of arrival

Comment only
22 Nov 2011 Bilal Hasan Qureshi  
22 Nov 2011 Bilal Hasan Qureshi

Dear Tanyer,

Your work is very nice. Please write following English translations.

1 ) SNR degerini giriniz (Maksimum grlt iin "0",minimum grlt iin "100"):

2) Eger girilen anten says minimum anten saysnn altndaysa minimum deger alnr.

3) Anten saysn giriniz(minimum anten saysn belirlemek iin "0" girin):

thanks in advance !

Comment only
04 May 2011 Tanveer

very nice but would be better for if combined with some examples and in English..
Thanx Tanyer

Comment only
25 Oct 2010 Mohammed Taha  
25 Oct 2010 Mohammed Taha

Thanks Tanyer,

I would ask you if you can write titles of the outputs in the figures in English so that we can understand the output.
Also, could you translate the comments into English, please?

Comment only
10 Sep 2010 Taewoo Lee

Ah~! thanks. I'll try it.

Comment only
09 Sep 2010 Tanyer Alan

Tanyer Alan (view profile)

music(number of signals, [degrees], [frequencies], λ constant,# of samples)

for example try this:
music(5,[10 30 55 70 90],[0.1 0.2 0.30 0.38 0.42],1,1000)
then you'll set the 'SNR' and 'number of antennas'

Comment only
09 Sep 2010 Taewoo Lee

Wouldn't you give sample data, driving code and English annotation too?

Comment only
08 Sep 2010 Onur

Onur (view profile)


Contact us