2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Модель пеленгатора (ESPRIT-UCA алгоритм) в Matlab
Сообщение05.12.2012, 13:35 
Аватара пользователя


30/11/08
25
Добрый день есть задачка промоделировать приведенный алгоритм пеленгации, для случая круговой антенной решетки.
Реализовал модель, взяв за основу http://soar.wichita.edu/xmlui/bitstream/handle/10057/1516/t07081.pdf?sequence=1 эту статью.

Код:
clear all;clc;

DOAs=[5 50 110]*pi/180;               %DOA’s of signals in radian


M=28;                                 %Number of array elements
q=1;                                  %Number of data samples
r=1;                                  %radius = wavelength   
p=length(DOAs);                       %Number of signals
h=M/2-1;

   for i =1:p
   A(:,i)=exp(-1j*2*pi*r*cos(DOAs(i)-2*pi*(0:M-1)/M));                     %steering
   end

sig=round(rand(p,q))*2-1;                                                                                     
noise=sqrt(1/2)*(randn(M,q)+1i*randn(M,q));

X=A*sig+noise;                                           

for i=-h:h
    for n=0:M-1
        F(i+h+1,n+1)=exp((1j*2*pi/M)*n*i);   
    end
end

k=-h:h;
J=diag(1./(sqrt(M).*1j.^(k).*besseli(k,2*pi))); 
T=J*F;

X_T=T*X;

   
     for i=1:h+1
     Xtop(i,:)=X_T(h+2-i:end-i+1);
     end
   
     Xtop_cov=Xtop*Xtop';
     
     [U S V]=svd(Xtop_cov);
     Ush=U(:,1:p);
     Vsh=V(:,1:p);
     Ssh=S(1:p,1:p);
     
     Q=Ush*Ssh*Vsh';
     Q1=Q(1:h,:);
     Q2=Q(2:h+1,:);
     P=pinv(Q1)*Q2;
     
     [Vect D]= eig(P);
     
     [D,Ind]=sort(diag(D),1,'descend');  %Сортировка собственных чисел
 
     Y1=angle(D(1))*180/pi
     Y2=angle(D(2))*180/pi
     Y3=angle(D(3))*180/pi
   


Все сделано по методе, а углы правильно не определяются,да и изменяются в зависимости от того какой сигнал на входе.

Кто-нибудь имел опыт моделирования такой системы?Можете объяснить где я допустил ошибку?

заранее извиняюсь если написал не в тот раздел.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group