请教一个关于求方向图和增益的一段Matlab程序!
时间:10-02
整理:3721RD
点击:
程序如下:
function F = linear_array_pattern(I)
[m,n]=size(I);
z=0:n-1;
kd=2*pi/2;
t=1;
theta=0;
%计算方向图
while (theta<360)
thetarad=theta*pi/180;
f(t)=abs(sum(I.*exp(j*kd*z*cos(thetarad))));
fsum_uave(t)=f(t)*abs(sin(thetarad))*(0.1*pi/180);
theta=theta+ 0.1;
t=t+1;
end
t=0:0.1:359.9;
f_max=max(f);
f1=f/f_max;
figure(3);
polar(t*pi/180,f1);
figure(4)
plot(t,20*log10(f1));
grid on;
%***********求增益*********************************
u_max=f_max^2;
u_sum=sum(f.*fsum_uave)*pi;
D=4*pi*u_max/u_sum;
disp 增益为:
disp(D);
请问fsum_uave(t)=f(t)*abs(sin(thetarad))*(0.1*pi/180);
及u_sum=sum(f.*fsum_uave)*pi;
D=4*pi*u_max/u_sum;
用的是什么公式?
请高手指点迷津!
不胜感激!
function F = linear_array_pattern(I)
[m,n]=size(I);
z=0:n-1;
kd=2*pi/2;
t=1;
theta=0;
%计算方向图
while (theta<360)
thetarad=theta*pi/180;
f(t)=abs(sum(I.*exp(j*kd*z*cos(thetarad))));
fsum_uave(t)=f(t)*abs(sin(thetarad))*(0.1*pi/180);
theta=theta+ 0.1;
t=t+1;
end
t=0:0.1:359.9;
f_max=max(f);
f1=f/f_max;
figure(3);
polar(t*pi/180,f1);
figure(4)
plot(t,20*log10(f1));
grid on;
%***********求增益*********************************
u_max=f_max^2;
u_sum=sum(f.*fsum_uave)*pi;
D=4*pi*u_max/u_sum;
disp 增益为:
disp(D);
请问fsum_uave(t)=f(t)*abs(sin(thetarad))*(0.1*pi/180);
及u_sum=sum(f.*fsum_uave)*pi;
D=4*pi*u_max/u_sum;
用的是什么公式?
请高手指点迷津!
不胜感激!
增益定义原始公式,分子分母是两个积分