Capon ²¨ÊøÐγÉmatlab·ÂÕæ(¸½Ô´´úÂë)

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,'.')

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ì滻Ϊ@) ËÕICP±¸20003344ºÅ-4