波束形成Matlab程序0314195429Word格式.docx
《波束形成Matlab程序0314195429Word格式.docx》由会员分享,可在线阅读,更多相关《波束形成Matlab程序0314195429Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
仿真图如下:
N=
liA4IIIl>
VF
|i»
4fi|4
l<
1kri
11V4
*■・■!
1114
L••
r八…一…f…厂*■”*■*"
]
III
・■
I|>
1
1・F
[1■K
■|I4
・
11II
■I■1
I»
1I
If
11ll
1V1
丄■■■■■」■・L■■■■■■■■It—■■■■■■L■■■■■■■「
iT7
M114
idii4
1114
L■■■■■■*■lL■■■■■■■■it■■■■■■■■丄
i|i
ItIj
»
t4
*•*
■i
1JL9Ii|
Jii■i
lii
246*1*06005115
theta^radian
*
2.波束宽度与波达方向及阵元数的关系
clc
clearall
closeall
ima=sqrt(-1);
element_num1=16;
%阵元数
element_num2=128;
element_num3=1024;
lamda=0.03;
%波长为0.03米
d=1/2*lamda;
%阵元间距与波长的关系theta=0:
0.5:
90;
length(theta);
fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num1*d));
psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num2*d));
beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num3*d));
plot(theta,fai,'
r'
theta,psi,'
b'
theta,beta,'
g'
),gridonxlabel('
theta'
Widthinradians'
波束宽度与波达方向及阵元数的关系'
)仿真图如下:
波束宽度与波达方向及阵元数的关系
0.7
06
匸J
o.
3-0
50
3eth
4
70
60
90
3.当阵元间距
d/2
时,会出现栅瓣,导致空间模糊。
8P£
apj三CEe
lamda为"
2液长
-1012
lamda为09咅波长
4.类似于时域滤波,天线方向图是最优权的傅立叶变换
仿真程序和仿真图如下:
clcclearall
element_num=32;
%阵元数
source_num=1;
%信源数
d_lamda=1/2;
%阵元间距与波长的关系
theta=linspace(-pi/2,pi/2,200);
thetaO=O;
%来波方向
w=exp(ima*2*pi*d_lamda*sin(theta0)*[0:
forj=1:
length(theta);
a=exp(ima*2*pi*d_lamda*sin(theta(j))*[0:
subplot(1,2,1)
plot(theta,abs(p)),gridonxlabel('
theta/radian'
)ylabel('
)title('
按定义的方向图'
)pfft=fftshift(fft(w,128));
subplot(1,2,2)
plot(linspace(-pi/2,pi/2,128),abs(pfft)),gridonxlabel('
FFT_amplitude'
最优权的傅里叶变换'
抿定史的方向图
35
最优权的傅里叶变摄
a
>
i
.……J…….j
iii
1I
[I
1:
£
3*
q
[|
■1
ci
■Z1J
15
"
-1=
■I
1i
■I
'
■"
■■"
■I"
ii
!
l
H
■
ii
■i
LI
c
w[|
1-i
2-1□12
5.%最大信噪比准则方向图和功率谱
clearall;
closeall;
ima=sqrt(-1);
theta=-90:
%阵元数为8
%间距为半波长%范围%来波方向
theta1=20;
%干扰方向
L=512;
%采样单元数
fori=1:
L
amp0=10*randn
(1);
amp1=200*randn
(1);
ampn=1;
s(:
i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:
element_num-1]'
j(:
i)=amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:
n(:
i)=ampn*(randn(element_num,1)+ima*randn(element_num,1));
Rs=1/L*s*s'
;
%信号自相关矩阵
Rnj=1/L*(j*j'
+n*n'
%干扰+噪声的自相关矩阵
[V,D]=eig(Rs,Rnj);
%(Rs,Rnj)的广义特征值和特征向量
[D,I]=sort(diag(D));
%排序
Wopt=V(:
I(8));
%最优权矢量
length(theta)a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:
f(j)=Wopt'
p(j)=a'
*Rs*a+a'
*Rnj*a;
endF=20*log10(abs(f)/max(max(abs(f))));
P=20*log10(abs(p)/max(max(abs(p))));
subplot(121)plot(theta,F);
gridon;
holdonplot(theta0,-50:
0,'
.'
plot(theta1,-50:
)xlabel('
theta/0'
FindB'
max-SNR方向图'
axis([-9090-500]);
holdon
subplot(122)plot(theta,P,'
gridon
theta/O'
功率indB'
max-SNR功率谱'
仿真图如下:
-10
-20
-30
轻-4Q
B©
-so
*70
-80
-90
-100-50flSO100
the?
l屮口
6.
%ASC旁瓣相消----
MSE准则
M=32;
%辅助天线的数目
d_lamda=.5;
theta0=-30;
theta仁60;
%米样单兀数
s=zeros(1,512);
%预划分一个区域
forii=1:
L;
ampO=1*randn
(1);
%信号的幅度随机产生,保证信号之间是不相关的
amp1=200*randn
(1);
ampn=1;
jam(:
ii)=amp1*exp(ima*2*pi*0.5*sin(theta1*pi/180)*[0:
M-1]'
)+ampn*(randn(M,1)
+ima*randn(M,1));
%干扰+噪声
s(ii)=amp0*exp(ima*2*pi*0.5*sin(theta0*pi/180))+amp1*exp(ima*2*pi*0.5*sin(theta1*pi/180))+ampn*(randn(1,1)+ima*randn(1,1));
%接收信号(信号+干扰+噪声)
s0(ii)=amp0*exp(ima*2*pi*0.5*sin(theta0*pi/180));
%噪声自相关矩阵,相当于X(t)
Rx=1/L*jam*jam'
r_xd=1/L*jam*s'
Wopt=pinv(Rx)*r_xd;
delta=s0-(s-Wopt'
*jam);
delta仁abs(mean(delta42)-(mean(delta)).A2)%方差
forjj=1:
length(theta)a=exp(ima*2*pi*5*sin(theta(jj))*[0:
f(jj)=Wopt'
F=20*log10(abs(f)/(max(max(abs(f)))));
figure
(1)
plot(theta*180/pi,F),gridon,holdon
plot(theta0,-50:
theta/o'
F/dB'
MSE准则下的方向图'
%可为x轴和y轴设置一个极限范围
「胎E准则下的方向图
theta/c
7.%线性约束最小方差(LCMV)准则clc;
clearall;
%阵元数
90-0.3;
%搜索范围
%三个信号源的来波方向
theta1=30;
theta2=60;
amp1=100*randn
(1);
amp2=10*randn
(1);
ampn=10;
x(:
)+...
amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:
amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:
)+...ampn*(randn(element_num,1)+ima*randn(element_num,1));
end
Rx=1/L*x*x'
steer1=exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:
steer2=exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:
steer3=exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:
C=[steer1steer2steer3];
F=[101]'
%把三个方向都作为来波方向
w=inv(Rx)*C*(inv(C'
*inv(Rx)*C))*F;
a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:
f(j)=w'
p(j)=1/(a'
*inv(Rx)*a);
f=10*log10(abs(f)/(max(max(abs(f)))));
subplot(121)
plot(theta,f),gridon,holdon
plot(theta0,-20:
plot(theta1,-20:
plot(theta2,-20:
Caponbeamforming方向图'
axis([-9090-200]);
P=10*log10(abs(p)/(max(max(abs(p)))));
subplot(122)
plot(theta,P),gridon,holdonplot(theta0,-20:
)plot(theta1,-20:
)plot(theta2,-20:
功率/dB'
Caponbeamforming功率谱'
theta/o
6
-8
■12
■14
■16
-ie
-S
C叩onbeamfiornning功率谱
9询百
-100-600
theta/g
8.%CaponbeamformingClc;
%阵元间距与波长的关系
theta=-9O:
O.5:
9O;
%范围
theta1=2O;
theta2=6O;
L=1000;
%采样单元数
ampO=1O*randn⑴;
%信号的幅度随机产生,保证信号之间是不相关的
amp2=2OO*randn
(1);
ampn=3;
i)=ampO*exp(ima*2*pi*1/2*sin(thetaO*pi/18O)*[O:
amp1*exp(ima*2*pi*1/2*sin(theta1*pi/18O)*[O:
amp2*exp(ima*2*pi*1/2*sin(theta2*pi/18O)*[O:
R=inv(Rx);
steer=exp(ima*2*pi*1/2*sin(thetaO*pi/18O)*[O:
w=R*steer/(steer'
*R*steer);
%Capon最优权矢量
*R*a);
F=20*log10(abs(f)/(max(max(abs(f)))));
P=20*log10(abs(p)/(max(max(abs(p)))));
%此处是功率的对数形式
Figure;
plot(theta,F),gridon,holdon
plot(theta2,-50:
subplot(122)
plot(theta,P),gridon
Caponbeamforming功率谱'
Capoilb-eamforming方向冒
5005C
th&
ta/o
Caponb朋nifoiming功率4普
9.%不同方法估计协方差矩阵的Capon波束形成clc;
%阵元数为8
theta1=50;
%干扰方向
%采样单元数
amp1=50*randn
(1);
ampn=0.5;
i)=ampn*exp(ima*2*pi*randn
(1)*[0:
Rx=1/L*(s+j+n)*(s+j+n)'
%接收信号自相关矩阵
Rnj=1/L*(j+n)*(j+n)'
%干拢+噪声的自相关矩阵
e=exp(ima*2*pi*d_lamda*sin(theta0*pi/180)*[0:
%来波方向信号
Wopt_Rx=inv(Rx)*e/(e'
*inv(Rx)*e);
%采用接收信号的权矢量
Wopt_Rnj=inv(Rnj)*e/(e'
*inv(Rnj)*e);
%采用干拢+噪声信号的权矢量
length(theta)
a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:
f1(j)=Wopt_Rx'
f2(j)=Wopt_Rnj'
F1=20*log10(abs(f1)/max(max(abs(f1))));
F2=20*log10(abs(f2)/max(max(abs(f2))));
plot(theta,F1,theta,F2,'
),gridon;
F(1,2)/dB'
不同方法估计协方差矩阵的Capon波束形成'
theia'
J
10.%多点约束的
Capon波束形成和方向图
element_num=8;
d_lamda=1/2;
0.3:
%搜索范围
theta2=50;
Rx=zeros(element_num,element_num);
%P生协方差矩阵fori=1:
amp0=10*randn
(1);
amp1=10*randn
(1);
amp2=50*randn
(1);
namp=0.5*randn
(1);
%噪声的幅度随机产生,保证噪声与信号之间是不相关的
J(:
)+...amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:
namp*exp(ima*2*pi*randn
(1)*[0:
x(:
i);
%表示接收信号
Rx=Rx+1/L*x*x'
w=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:
)+...amp2*exp(ima*2*pi*1/2*sin(theta2*pi