巴塞罗那 发表于 2013-4-2 15:30

关于波束形成的程序,哪位大神能给小弟讲解一下。

4单元均匀线阵自适应波束形成图
clear
clc
format long;
v=1;
M=4;
N=1000;
f0=21*10^3;
f1=11*10^3;
f2=15*10^3;
omiga0=2*pi*f0;
omiga1=2*pi*f1;
omiga2=2*pi*f2;
sita0=0.8;
sita1=0.4;
sita2=2.1;
for t=1:N
    adt(t)=sin(omiga0*t/(N*f0));
    a1t(t)=sin(omiga1*t/(N*f1));
    a2t(t)=sin(omiga2*t/(N*f2));
end
for i=1:M
    ad(i,1)=exp(j*(i-1)*pi*sin(sita0));
    a1(i,1)=exp(j*(i-1)*pi*sin(sita1));
    a2(i,1)=exp(j*(i-1)*pi*sin(sita2));
end
R=zeros(M,M);
for t=1:N
x=adt(t)*ad+a1t(t)*a1+a2t(t)*a2;
   R=R+x*x';
end
R=R/N;
miu=1/(ad'*inv(R)*ad);
w=miu*inv(R)*ad;
for sita=0:pi/100:pi
    for i=1:M
      x_(i,1)=exp(j*(i-1)*pi*sin(sita));
    end
    y(1,v)=w'*x_;
    v=v+1;
end
y_max=max(y(:));
y_1=y/y_max;
y_db=20*log(y_1);

sita=0:pi/100:pi;
plot(sita,y)
Xlabel(‘sitaa’)
Ylabel(‘天线增益db’)

4单元均匀线阵自适应波束形成
目标
clear
clc
format long;
v=1;
M=4;
N=100;
f0=21*10^3;
omiga0=2*pi*f0;
sita0=0.6
for t=1:N
    adt(t)=sin(omiga0*t/(N*f0));   
end
for i=1:M
    ad(i,1)=exp(j*(i-1)*pi*sin(sita0));
end
R=zeros(4,4);
r=zeros(4,1);
for t=1:N
    x=adt(t)*ad;
    R=R+x*x.';
end
R=R/N;
miu=1/(ad.'*inv(R)*ad);
w=miu*inv(R)*ad;
for sita=0:pi/100:pi/2
    for i=1:M
      a(i,1)=exp(j*(i-1)*pi*sin(sita));
    end
    y(1,v)=w.'*a;
    v=v+1;
end
sita=0:pi/100:pi/2;
plot(sita,y)
xlabel('sita')
ylabel('天线增益’)

这是程序,小弟正在做本科生毕业设计。对这个程序一窍不通,哪位大神能给我讲解一下这个程序的思路,不胜感激!!!

ChaChing 发表于 2013-4-3 10:35

每个人都是先一窍不通的
若是我的话, 我会一行一行边看文献边试的, 记得个人当初应该是如此
页: [1]
查看完整版本: 关于波束形成的程序,哪位大神能给小弟讲解一下。