18030031 ¶Å»ª¹ó Capon²¨ÊøÐγÉ
ÕóÁÐN=16, ÐźÅ?0?-30?£¬¸ÉÈÅΪ?1?60?£¬?2?19?£¬?3?45?£¬¸ÉÈŹ¦ÂÊ·Ö±ðΪ£º40dB,35dB,50dB¡£Capon²¨ÊøÐγɺóµÄ·½ÏòͼºÍ¹¦ÂÊÆ×ÈçÏ£º
18030031 ¶Å»ª¹ó
ΪÁ˱ȽϽÓÊÕÊý¾ÝÖ±½Ó¹À¼ÆÔëÉùз½²î¾ØÕóºÍÀûÓøÉÈÅ+ÔëÉù¹À¼Æз½²î¾ØÕóµÄCapon
²¨ÊøÐγɵIJîÒ죬½øÐÐÈçÏ·ÂÕ棺
¿ÉÒÔ¿´³öÀûÓøÉÈÅ+ÔëÉù¹À¼Æз½²î¾ØÕóµÄ·½ÏòͼÐÔÄܽÏÓÅÓÚ½ÓÊÕÊý¾ÝÖ±½Ó¹À¼ÆÔëÉùз½²î¾ØÕóµÄ·½Ïòͼ¡£ ´úÂ룺 clc; clear all ; close all; ima=sqrt(-1);
element_num=8; %ÕóÔªÊý
d_lamda=1/2; %ÕóÔª¼ä¾àÓ벨³¤µÄ¹Øϵ theta=-90:0.5:90; %·¶Î§ theta0=-30; %À´²¨·½Ïò theta1=60; %¸ÉÈÅ·½Ïò1 theta2=19; %¸ÉÈÅ·½Ïò2 theta3=45; %¸ÉÈÅ·½Ïò3
18030031 ¶Å»ª¹ó L=1000; %²ÉÑùµ¥ÔªÊý for i=1:L;
amp0=10*randn(1);%Ðźŵķù¶ÈËæ»ú²úÉú£¬±£Ö¤ÐźÅÖ®¼äÊDz»Ïà¹ØµÄ amp1=100*randn(1);%ÊäÈëÕóÁеÄÔëÉù amp2=sqrt(10^3.5)*randn(1);%ÊäÈëÕóÁеÄÔëÉù amp3=sqrt(10^5)*randn(1);%ÊäÈëÕóÁеÄÔëÉù ampn=3;%ÔëÉù
x(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')+... amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')+... amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')+... amp3*exp(ima*2*pi*1/2*sin(theta3*pi/180)*[0:element_num-1]')+... ampn*(randn(element_num,1)+ima*randn(element_num,1)); end
Rx=1/L*x* x'; R=inv(Rx);
steer=exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]'); w=R*steer/(steer'*R*steer);¨ºpon×îÓÅȨʸÁ¿ for j=1:length(theta);
a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:element_num-1]'); f(j)=w'*a; p(j)=1/(a'*R*a); end
F=20*log10(abs(f)/(max(abs(f))));
P=20*log10(abs(p)/(max(abs(p))));%´Ë´¦Êǹ¦ÂʵĶÔÊýÐÎʽ figure; % subplot(121)
plot(theta,F),grid on,hold on plot(theta0,-80:0,'.') plot(theta1,-80:0,'.') plot(theta2,-80:0,'.')