資源簡介
經典MUSIC算法MATLAB仿真,帶詳細注釋,仿真通過。可以直接使用。MATLAB陣列信號處理,DOA估計,MATLAB信號處理,信息與信號處理 專業,通信專業等學科學習的例程,經典仿真案例,學習入門必備,程序正確,可運行。

代碼片段和文件信息
%?DOA?estimation?by?MUSIC?
%?Developed?by?xiaofei?zhang?(南京航空航天大學?電子工程系?張小飛)
%?EMAIL:zhangxiaofei@nuaa.edu.cn
clear?all
close?all
derad?=?pi/180;????????%?deg?->?rad
radeg?=?180/pi;
twpi?=?2*pi;
kelm?=?8;???????????????%?陣列數量
dd?=?0.5;???????????????%?space?
d=0:dd:(kelm-1)*dd;?????%?
iwave?=?3;??????????????%?number?of?DOA
theta?=?[10?30?60];?????%?角度
snr?=?10;???????????????%?input?SNR?(dB)
n?=?500;?????????????????%?
A=exp(-j*twpi*d.‘*sin(theta*derad));%%%%?direction?matrix
S=randn(iwaven);
X=A*S;
X1=awgn(Xsnr‘measured‘);
Rxx=X1*X1‘/n;
InvS=inv(Rxx);?%%%%
[EVD]=eig(Rxx);%%%%?
EVA=diag(D)‘;
[EVAI]=sort(EVA);
EVA=fliplr(EVA);
EV=fliplr(EV(:I));
%?MUSIC
for?iang?=?1:361
????????angle(iang)=(iang-181)/2;
????????phim=derad*angle(iang);
????????a=exp(-j*twpi*d*sin(phim)).‘;
????????L=iwave;????
????????En=EV(:L+1:kelm);
????????SP(iang)=(a‘*a)/(a‘*En*En‘*a);
end
???
%?
SP=abs(SP);
SPmax=max(SP);
SP=10*log10(SP/SPmax);
h=plot(angleSP);
set(h‘Linewidth‘2)
xlabel(‘angle?(degree)‘)
ylabel(‘magnitude?(dB)‘)
axis([-90?90?-60?0])
set(gca?‘XTick‘[-90:30:90])
grid?on??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1122??2010-08-16?09:41??張小飛-MUSIC算法MATLAB程序\doa_music.m
?????目錄??????????0??2017-11-02?16:19??張小飛-MUSIC算法MATLAB程序
-----------?---------??----------?-----??----
?????????????????1122????????????????????2
評論
共有 條評論