Read the original text, please move to my knowledge column:
https://www.zhihu.com/column/c_1287066237843951616
The contents of this article are:
Introduction to Binary Array
Example 3.8 Conventional beam pattern of binary array
Example 3.9 Binary array directivity index
Introduction to Binary Array
Figure 1 Binary matrix
Binary array is an array composed of two array elements. Place the first array element at the origin of the coordinates, and the second array element on the axis. The distance between the two array elements is
. The binary array coordinate system is shown in Figure 1. The position coordinates of the two-element array are:
Due to symmetry, the directivity of the base array has nothing to do with the horizontal azimuth angle, only the pitch angle . Therefore, the array popularity vector of the uniform linear array is:
For this binary matrix, assuming the desired direction is , the weighting vector is:
Example 3.8 Conventional beam pattern of binary array
This example examines the conventional beam response of a binary array when the distance between the array elements is different.
Assuming that the distance between the array elements is taken from the desired beam direction
, the calculated conventional beam pattern is shown in the figure
. It can be seen from the figure that when the distance between the array elements gradually decreases, the main beam of the binary array becomes wider and the directivity gradually deteriorates. When the distance between the array elements is reduced
, the conventional beam pattern of the binary array is close to a circle, that is, it degenerates into a single element without directivity. Observation FIG. 2 (a) found that when
, the beam pattern is an inverted "heart-shaped", when the beam weight vector is:
Figure 2(a)
Figure 2(b)
Figure 2(c)
The implementation code is as follows:
f=1000; %频率
c=340; %声速
lambda = c/f;
space=0.04; %麦克风间距
theta_angle=0:1:360;
theta=theta_angle*pi/180;
space_list = [0.05 0.25 0.5]*lambda; %连续阵间距
M = 2;
figure;
theta_d = 0 *pi/180;
for i = 1:length(space_list)
space = space_list(i);
B=sin((M*pi*f*space*(cos(theta)-cos(theta_d)))/c)...
./(M*sin((pi*f*space*(cos(theta)-cos(theta_d)))/c));
B_db=20*log10(B);
index = B_db < -50;
B_db(index) = -50;
GraphicHandle = polar(theta,B);
set( GraphicHandle, 'LineWidth', 2);
hold on;
end
title('期望方向\phi_o=0^\circ');
legend('d=0.05\lambda', 'd=0.25\lambda', 'd=0.5\lambda', 'fontsize', 15);
Example 3.9 Binary array directivity index
The directivity index of the base array The directivity index of the base array is equal to the array gain of the base array in a spatially uniform and isotropic noise field.
Super directivity As the distance between array elements decreases, the directivity of the optimal beam forming of the linear array in the end-fire direction exceeds the number of elements. This status quo is "super directivity" or "super gain".
In this example, consider a binary array. The conventional beamforming method and the optimal beamforming method are used to investigate the directivity index of the basic array under different array element spacing and wavelength ratios and different observation directions.
Suppose the beam direction are observed so that
the
variation in the range of, respectively, the following equation (3.54) and (3.56)
The gain of the conventional beam formed in the binary array in the spatially uniform and isotropic noise field is:
Among them is the cross-spectrum matrix of uniform isotropic noise in the binary array space:
The optimal beamforming array gain in the binary array in the spatially uniform and isotropic noise field is:
Calculate the directivity index obtained by the conventional beamforming method and the optimal beamforming method. The directivity calculation results of the two beamforming methods are shown in Figures 3(a) and 3(b), respectively.
Figure 3(a)
As can be seen in FIG. 3 (a), conventional methods for beam forming, as , the directivity
, i.e., the number of array elements. When the beam observation direction is the transverse direction (
),
the beam directivity gradually decreases with decreasing, and
it is equal to 1 when it approaches 0, that is, there is no directivity, which is equivalent to a single array element.
Figure 3(b)
Observing Figure 3(b), it can be found that when the best beamforming is used, when the beam viewing direction is the transverse direction ( )
, the directivity gradually decreases from 2 to 1 as it gradually decreases from 0.5 to 0. When the beam viewing direction is the end-fire direction (
), with the
gradual decrease from 0.5 to 0, the directivity gradually increases from 2 to 4, which is the super directivity.
The implementation code is as follows:
c = 340;
f = 1000;
lambda = c / f;
k = 2*pi*f/c; %波数
theta_angle=0:1:360;
theta=theta_angle*pi/180;
ratio_space = linspace(0.001, 0.5, 100);
space_list = ratio_space*lambda; %连续阵间距
theta_d = [0 30 60 90] *pi/180;
color_list = {'r-' 'g--' 'b-.' 'k:'};
M = 2;
% 常规波束形成
figure;
for i = 1:length(theta_d)
color = color_list{i};
theta = theta_d(i);
Sinc = sin(k*space_list) ./ (k*space_list);
Gain = 2 ./ (1+Sinc .* cos(k*space_list*cos(theta)));
plot(ratio_space, Gain, color, 'linewidth', 1.5);
hold on;
end
grid on;
xlabel('d/\lambda'); ylabel('Gain_c');
legend('0度', '30度', '60度', '90度', 'fontsize', 15);
title('二元阵指向性—常规波束形成');
% 最佳波束形成
figure;
for i = 1:length(theta_d)
theta = theta_d(i);
color = color_list{i};
Sinc = sin(k*space_list) ./ (k*space_list);
Gain = (2 - 2*Sinc.*cos(k*space_list*cos(theta)))...
./ (1-Sinc.^2);
plot(ratio_space, Gain, color, 'linewidth', 1.5);
hold on;
end
grid on;
xlabel('d/\lambda'); ylabel('Gain_{opt}');
legend('0度', '30度', '60度', '90度', 'fontsize', 15);
title('二元阵指向性—最佳波束形成');
Reference books:
"Optimizing Array Signal Processing"