update several posts, add matlab code to figs
This commit is contained in:
+1
-1
@@ -531,7 +531,7 @@ pdf:
|
||||
|
||||
# Mermaid tag
|
||||
mermaid:
|
||||
enable: false
|
||||
enable: true
|
||||
# Available themes: default | dark | forest | neutral
|
||||
theme:
|
||||
light: forest
|
||||
|
||||
@@ -55,6 +55,8 @@ highlight:
|
||||
tab_replace: ' '
|
||||
wrap: true
|
||||
hljs: false
|
||||
exclude_languages:
|
||||
- mermaid
|
||||
prismjs:
|
||||
enable: false
|
||||
preprocess: true
|
||||
|
||||
@@ -75,6 +75,51 @@ $$\begin{equation}
|
||||
|
||||
{width=1000px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig2_1516.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 2.15 & 2.16
|
||||
% Beampattern of uniformly weighted linear array
|
||||
% Xiaomin Lu
|
||||
% Updated 1/5/99
|
||||
% Last updated by K. Bell 7/22/01, 10/4/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
N = 11; % 11 elements
|
||||
% Note, Eq. (2.92) is in fact the standard Dirichlet function
|
||||
% beam = diric(psi, N);
|
||||
% if you don't have the signal processing toolbox, this does the same thing
|
||||
psi = (-5:1/400:5)*pi;
|
||||
beam = zeros(1,length(psi(:)));
|
||||
y=sin(.5*psi);
|
||||
i=find(abs(y)>1e-12); % set where x is not divisible by 2 pi
|
||||
j=1:length(psi(:));
|
||||
j(i)=[]; % complement set
|
||||
beam(i)=sin((N/2)*psi(i))./(N*y(i));
|
||||
beam(j)=sign(cos(psi(j)*((N+1)/2)));
|
||||
|
||||
plot(psi/pi, beam)
|
||||
grid
|
||||
xlabel('$\psi/\pi$','Interpreter','latex')
|
||||
ylabel('Frequency wavenumber response function')
|
||||
axis([-5 5 -0.4 1])
|
||||
set(gcf,'Position',[0 0 1000 600])
|
||||
figure
|
||||
beam = 20*log10(abs(beam));
|
||||
plot(psi/pi,beam);
|
||||
xlabel('$\psi/\pi$','Interpreter','latex')
|
||||
ylabel('Frequency wavenumber response function (dB)')
|
||||
axis([-5 5 -25 0])
|
||||
grid
|
||||
set(gcf,'Position',[0 0 1000 600])
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
若不指定 $\boldsymbol{w}$ 的类型,则 $\boldsymbol{\varUpsilon}_\psi(\psi)$ 是复数,所以相位也应该画出来。但是,均匀加权线阵具有对称性,因此得到的频率-波数响应是实函数。
|
||||
|
||||
  也可以用 $k_z$ 来表示频率-波数响应
|
||||
@@ -121,10 +166,138 @@ $$\begin{equation}
|
||||
|
||||
{width=800px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig2_17.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 2.17
|
||||
% Polar plot of B (Theta)
|
||||
% Lillian Xu 1/5/99
|
||||
% Updated by K. Bell 6/25/01
|
||||
% Functions called: polardb
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
N = 11; % Elements in array
|
||||
d = 0.5; % spacing wrt wavelength
|
||||
beamwidth = 2/(N*d); % null-to-null (LL BW is half this)
|
||||
D=d*(-(N-1)/2:1:(N-1)/2); % element locations
|
||||
ang = pi*(-1:0.001:1);
|
||||
u = cos(ang);
|
||||
n2=size(u,2);
|
||||
AS = exp(-1i*2*pi*cos(90/180*pi)*D'); % BP points to 90 (broadside)
|
||||
Au = exp(-1i*2*pi*D'*u);
|
||||
B = real(AS'*Au)/N;
|
||||
G = 20*log10((abs(B)));
|
||||
|
||||
h=polardb(ang,G,-40);
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
<a id="fig.1-3-4"></a>
|
||||
|
||||
{width=1000px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig2_18.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 2.18
|
||||
% beam patterns in different spaces
|
||||
% Lillian Xiaolan Xu
|
||||
% Last updated 09/07/2000
|
||||
% updated by K. Bell 7/22/01, 10/4/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
N = 10;
|
||||
n = (-(N-1)/2:(N-1)/2).';
|
||||
psi = pi*(-3:0.001:3);
|
||||
w = 1/N*[ones(N,1)];
|
||||
d = 1/2;
|
||||
vv = exp(1i*2*d*n*psi);
|
||||
B = (abs(w'*vv));
|
||||
|
||||
u1=-1;
|
||||
u2=3;
|
||||
y1=0;
|
||||
y2=1;
|
||||
|
||||
subplot(4,1,1)
|
||||
plot(-psi/d,B);
|
||||
hold on
|
||||
axis([u1*pi/d u2*pi/d y1 y2])
|
||||
set(gca,'XTick',[-pi/d 0 pi/d 2*pi/d 3*pi/d])
|
||||
set(gca,'YTick',[0 0.5 1])
|
||||
set(gca,'XTickLabel',{'$-\pi/d$';'$0$';'$\pi/d$';'$2\pi/d$';'$3\pi/d$'}, ...
|
||||
'TickLabelInterpreter','latex')
|
||||
|
||||
grid on
|
||||
point=0.8;
|
||||
point_up=0.84;
|
||||
point_down=0.76;
|
||||
plot([-pi/d pi/d],[point point],'--')
|
||||
plot([-1*pi/d -0.9*pi/d],[point point_up])
|
||||
plot([-1*pi/d -0.9*pi/d],[point point_down])
|
||||
plot([0.9*pi/d pi/d],[point_up point])
|
||||
plot([0.9*pi/d pi/d],[point_down point])
|
||||
text(-0.3*pi/d,1.2,'Visible region')
|
||||
|
||||
plot([pi/d 3*pi/d],[point point],'--')
|
||||
plot([pi/d 1.1*pi/d],[point point_up])
|
||||
plot([pi/d 1.1*pi/d],[point point_down])
|
||||
plot([2.9*pi/d 3*pi/d],[point_up point])
|
||||
plot([2.9*pi/d 3*pi/d],[point_down point])
|
||||
text(1.7*pi/d,1.2,'Virtual region')
|
||||
legend({'$k_z$-space'},'Interpreter','latex')
|
||||
|
||||
subplot(4,1,2)
|
||||
plot(psi,B);
|
||||
hold on
|
||||
axis([u1*pi u2*pi y1 y2])
|
||||
set(gca,'XTick',[-pi 0 pi 2*pi 3*pi])
|
||||
set(gca,'YTick',[0 0.5 1])
|
||||
set(gca,'XTickLabel',{'$-\pi$';'$0$';'$\pi$';'$2\pi$';'$3\pi$'}, ...
|
||||
'TickLabelInterpreter','latex')
|
||||
|
||||
grid on
|
||||
legend({'$\psi$-space'},'Interpreter','latex')
|
||||
|
||||
subplot(4,1,3)
|
||||
plot(psi/pi,B);
|
||||
hold on
|
||||
axis([u1 u2 y1 y2])
|
||||
set(gca,'XTick',[-1 0 1 2 3])
|
||||
set(gca,'YTick',[0 0.5 1])
|
||||
grid on
|
||||
legend({'$u$-space'},'Interpreter','latex')
|
||||
|
||||
theta = -180:0.1:360;
|
||||
vv = exp(1i*2*d*n*pi*cos(theta/180*pi));
|
||||
B = (abs(w'*vv));
|
||||
subplot(4,1,4)
|
||||
plot(theta,B);
|
||||
hold on
|
||||
axis([-180 180 y1 y2])
|
||||
set(gca,'XTick',[-180 -90 0 90 180])
|
||||
set(gca,'YTick',[0 0.5 1])
|
||||
set(gca,'XTickLabel',{'$180^\circ$';'$90^\circ$';'$0^\circ$';'$-90^\circ$'; ...
|
||||
'$-180^\circ$'},'TickLabelInterpreter','latex')
|
||||
|
||||
grid on
|
||||
legend({'$\theta$-space'},'Interpreter','latex')
|
||||
|
||||
set(gcf,'Position',[0 0 800 800])
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
{% note info %}
|
||||
|
||||
虽然以上例子比较简单,但是可以用来展示线性阵列的一些重要特征。
|
||||
@@ -151,6 +324,76 @@ $$\begin{equation}
|
||||
|
||||
{width=700px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig2_19.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 2.19
|
||||
% Main lobe of beam pattern
|
||||
% Kristine Bell
|
||||
% Last updated 6/4/01, 10/4/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% bp_sect - plots conventional bp with sector
|
||||
|
||||
clear all
|
||||
% close all
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Uniform Linear Array
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
N = 10; % Elements in array
|
||||
d = 0.5; % spacing wrt wavelength
|
||||
beamwidth = 2/(N*d); % null-to-null (LL BW is half this)
|
||||
D=d*(-(N-1)/2:1:(N-1)/2); % element locations
|
||||
u = -0.45:0.01:0.45;
|
||||
AS = exp(-1i*2*pi*D'*0); % BP points to 0
|
||||
Au = exp(-1i*2*pi*D'*u);
|
||||
B = real(AS'*Au)/N; % BP
|
||||
|
||||
h=plot(u,B,'-');
|
||||
set(h,'LineWidth',1.5)
|
||||
hold on
|
||||
% HPBW
|
||||
I=find(B>=0.707);
|
||||
plot([u(min(I)-1) u(max(I)+1)],[B(min(I)-1) B(max(I)+1)],'-')
|
||||
plot(u(min(I)-1)*[1 1],B(min(I)-1)*[1 1]+0.03*[-1 1],'-')
|
||||
plot(u(max(I)+1)*[1 1],B(max(I)+1)*[1 1]+0.03*[-1 1],'-')
|
||||
plot([0.03 0.13],[0.72 0.845],'-')
|
||||
text(0.155,0.84,'$\Delta u_1 = $HPBW','Interpreter','latex');
|
||||
|
||||
% BW-NN
|
||||
plot([-0.2 0.2],[-0.3 -0.3],'-')
|
||||
plot(-0.2*[1 1],-0.3*[1 1]+0.03*[-1 1],'-')
|
||||
plot(0.2*[1 1],-0.3*[1 1]+0.03*[-1 1],'-')
|
||||
text(-0.05,-0.35,'$\Delta u_2 = BW_{NN}$','Interpreter','latex');
|
||||
|
||||
% axes
|
||||
plot([-1 1 ],[0 0],'-')
|
||||
plot([0 0],[-0 1.1],'-')
|
||||
|
||||
% tick marks
|
||||
plot(-0.4*[1 1],0.03*[-1 1])
|
||||
plot(-0.2*[1 1],0.03*[-1 1])
|
||||
plot(0.2*[1 1],0.03*[-1 1])
|
||||
plot(0.4*[1 1],0.03*[-1 1])
|
||||
|
||||
yy = -0.1;
|
||||
%tick labels
|
||||
text(-0.45,yy,'$-2\frac{\lambda}{ND}$','Interpreter','latex');
|
||||
text(-0.21,yy,'$-\frac{\lambda}{ND}$','Interpreter','latex');
|
||||
text(-0.005,yy,'0','Interpreter','latex');
|
||||
text(0.18,yy,'$\frac{\lambda}{ND}$','Interpreter','latex');
|
||||
text(0.38,yy,'$2\frac{\lambda}{ND}$','Interpreter','latex');
|
||||
|
||||
text(0.01,1.1,'$B(u)$','Interpreter','latex')
|
||||
hold off
|
||||
axis([-0.42 0.42 -0.4 1.2])
|
||||
|
||||
set(gca,'Visible','off')
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
  3dB 波束宽度是波束宽度的一个度量。定义为对应 $\left| B_u(u) \right|^2 = 0.5$ 或 $\left| B_u(u) \right| = 1/\sqrt{2}$ 的点。可以通过令波束方向图 $B_u(u)$(式 $\eqref{BeamPatternOfUWLAInDirectionCosineDomain}$)等于 $1/\sqrt{2}$,来求出 $u$ 空间的半功率点。对于 $N\geqslant 10$,通过解下面的方程可以得到一个很好的近似:
|
||||
|
||||
$$\begin{equation}
|
||||
@@ -295,6 +538,55 @@ $$\begin{equation}
|
||||
|
||||
{width=1000px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig2_20.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 2.20
|
||||
% Effect of element spacing on beam pattern
|
||||
% Xin Zhang
|
||||
% Lillian Xu updated 09/2000
|
||||
% updated by K. Bell 7/22/2001, 10/4/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
N = 10;
|
||||
n = (-(N-1)/2:(N-1)/2).';
|
||||
psi = pi*(-3:0.001:3);
|
||||
w = 1/N*[ones(N,1)];
|
||||
d = [1/4 1/2 1];
|
||||
|
||||
figure
|
||||
for k =1:length(d)
|
||||
vv = exp(1i*2*d(k)*n*psi);
|
||||
B(k,:) = 20*log10(abs(w'*vv));
|
||||
subplot(3,1,k)
|
||||
plot(psi/pi,B(k,:));
|
||||
hold on
|
||||
plot([-1 -1],[-25 0],'--');
|
||||
plot([1 1],[-25 0],'--');
|
||||
axis([-3 3 -25 5])
|
||||
set(gca,'YTick',[-25 -20 -15 -10 -5 0])
|
||||
grid on
|
||||
xlabel('$u$','Interpreter','latex')
|
||||
if k == 1
|
||||
plot([-1 1],[2.5 2.5])
|
||||
plot([-1 -0.9],[2.5 0.5])
|
||||
plot([-1 -0.9],[2.5 4.5])
|
||||
plot([0.9 1],[0.5 2.5])
|
||||
plot([0.9 1],[4.5 2.5])
|
||||
text(-0.4,7,'Visible region')
|
||||
end
|
||||
hold off
|
||||
end
|
||||
|
||||
set(gcf,'Position',[0 0 800 600])
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
  在[图 1-3-6](#fig.1-3-6) 中,针对多种 $d/\lambda$ 的值,画出了 $\left| \boldsymbol{\varUpsilon}_u(u) \right|$。图中说明了“栅瓣”这个重要的概念,即和主波束一样高的波瓣。栅瓣发生在当波束方向图 $B_\psi(\psi)$(式 $\eqref{BeamPatternOfUWLAInWaveNumberDomain}$)中的分子和分母均为零的时候。栅瓣出现的间隔为
|
||||
|
||||
$$\begin{equation}
|
||||
|
||||
@@ -130,6 +130,48 @@ $$\begin{equation}
|
||||
|
||||
{width=1000px}
|
||||
|
||||
{% note primary MATLAB Code%}
|
||||
|
||||
``` matlab fig2_22.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 2.22
|
||||
% Effect of element spacing on beam pattern
|
||||
% Lillian Xu
|
||||
% Last updated by K. Bell 7/22/01, 10/4/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
N=10;
|
||||
n=(-(N-1)/2:(N-1)/2)';
|
||||
w=ones(N,1)/N;
|
||||
u=-3:0.01:3;
|
||||
|
||||
d=[2/3 1/2];
|
||||
theta=[30 90];
|
||||
figure
|
||||
s = ['(a)';'(b)'];
|
||||
for m=1:2
|
||||
beam=(w.*exp(1i*2*pi*n*d(m)*sin(theta(m)/180*pi)))' ...
|
||||
*exp(1i*2*pi*n*d(m)*u);
|
||||
subplot(2,1,m);
|
||||
plot(u,20*log10(abs(beam)));
|
||||
hold on
|
||||
axis([-3 3 -25 5])
|
||||
ylabel('Beam pattern (dB)')
|
||||
xlabel('$u$','Interpreter','latex')
|
||||
text(0,-32,s(m,:),'HorizontalAlignment','center')
|
||||
% title(['N=',num2str(N),', d=',num2str(d(m),2),' lambda, theta-Bar=', ...
|
||||
% num2str(theta(m)),' degrees'])
|
||||
grid on
|
||||
end
|
||||
|
||||
set(gcf,'Position',[0 0 800 600])
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
  通常,为了避免栅瓣进入可视区域,需要有
|
||||
|
||||
$$\begin{equation}
|
||||
@@ -161,6 +203,38 @@ $$\begin{equation}
|
||||
|
||||
{width=800px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig2_23.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 2.23
|
||||
% Beam pattern for 10-element uniform array (d=lambda/2)
|
||||
% scanned to 30 degrees (60 degrees from broadside)
|
||||
% Xin Zhang 1/20/99
|
||||
% Last updated by K. Bell 6/25/01
|
||||
% Functions called: polardb
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
N = 10;
|
||||
n = (-(N-1)/2:(N-1)/2).';
|
||||
theta = pi*(-1:0.001:1);
|
||||
u = cos(theta);
|
||||
d = 1/2;
|
||||
vv = exp(1i*2*pi*d*n*u);
|
||||
theta_T = 30/180*pi;
|
||||
w = 1/N*ones(N,1).*exp(1i*n*pi*cos(theta_T));
|
||||
B = w'*vv;
|
||||
B = 10*log10(abs(B).^2);
|
||||
figure
|
||||
h=polardb(theta,B,-40);
|
||||
hold off
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
  为了研究在 $\theta$ 空间的半功率带宽情况,我们利用式 $\eqref{SteeredBeamPatternInAngleDomain}$ 和 [$N \geqslant 10$ 时半功率带宽的估算式][],可以得到在 $u$ 空间的左右半功率点分别为
|
||||
|
||||
$$\begin{equation}
|
||||
@@ -196,6 +270,61 @@ $$\begin{equation} \label{HPBWOfUWLA}
|
||||
|
||||
{width=1000px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig2_24.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 2.24
|
||||
% HPBW versus steering angle
|
||||
% Lillian Xu
|
||||
% Modified by Xin Zhang
|
||||
% Last updated by L. Xu 11/30/00, K. Bell 7/22/01, 10/4/01, 10/17/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all;
|
||||
close all;
|
||||
|
||||
Nd_set=[1000:-5:700 700:-0.5:200 200:-0.05:20 15:-0.005:1];
|
||||
theta_deg=[2.5 5 10 20 30 45 90];
|
||||
%theta_deg=[2.5 5 10 20 30 45 60 90];
|
||||
theta_set=theta_deg*pi/180;
|
||||
figure
|
||||
for num=1:size(theta_set,2)
|
||||
theta=theta_set(num);
|
||||
bw=0;
|
||||
for num1=1:size(Nd_set,2)
|
||||
Nd=Nd_set(num1);
|
||||
r=cos(theta)+0.443/Nd;
|
||||
if abs(r)<=1
|
||||
bw(num1)=acos(r)-acos(cos(theta)-0.443/Nd);
|
||||
end
|
||||
end
|
||||
loglog(Nd_set(1:size(bw,2)),abs(bw*180/pi));
|
||||
hold on
|
||||
rightpoint=abs(bw(1)*180/pi);
|
||||
text(1040,rightpoint,[num2str(theta_deg(num)),'$^\circ$'],Interpreter='latex'); % used to be 7
|
||||
end
|
||||
axis([1 1000 0.04 100])
|
||||
xlabel('$Nd/\lambda$','Interpreter','latex')
|
||||
ylabel('3-dB beamwidth in degrees')
|
||||
|
||||
scanlimit=-acos(1-2*0.443./Nd_set);
|
||||
loglog(Nd_set,abs(scanlimit*180/pi),'--')
|
||||
|
||||
Endfire = 2*acos(1-0.433./Nd_set);
|
||||
loglog(Nd_set,abs(Endfire*180/pi))
|
||||
rightpoint=abs(Endfire(1)*180/pi);
|
||||
text(1040,rightpoint,'$\theta=0^\circ$',Interpreter='latex'); % used to be 7
|
||||
%title('HPBW versus steering angle: standard linear array with uniform weighting')
|
||||
text(12,35,'Endfire')
|
||||
text(12,14.4,'Scan limit')
|
||||
text(12,1.8,'Broadside')
|
||||
grid on;
|
||||
set(gcf,'Position',[0 0 800 500])
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
  当波束调向到正侧向的附近($\bar{\theta}_\mathrm{T}$ 的值很小)且 $Nd \gg \lambda$ 时,$\theta_\mathrm{H}$ 很小,利用小角度展开形式得到
|
||||
|
||||
$$\begin{equation} \label{HPBWWithSmallAngle}
|
||||
@@ -220,6 +349,38 @@ $$\begin{equation} \label{HPBWOfEndfireUWLA}
|
||||
|
||||
{width=800px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig2_26.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 2.26
|
||||
% Beam pattern of a standard 10-element linear array
|
||||
% with uniform amplitude weighting at end-fire
|
||||
% Xin Zhang 1/20/99
|
||||
% Last updated by K. Bell 6/25/01
|
||||
% Functions called: polardb
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
N = 10;
|
||||
n = (-(N-1)/2:(N-1)/2).';
|
||||
theta = pi*(-1:0.001:1);
|
||||
u = cos(theta);
|
||||
d = 1/2;
|
||||
vv = exp(1i*2*pi*d*n*u);
|
||||
theta_T = 0/180*pi;
|
||||
w = 1/N*ones(N,1).*exp(1i*n*pi*cos(theta_T));
|
||||
B = w'*vv;
|
||||
B = 10*log10(abs(B).^2);
|
||||
figure
|
||||
h=polardb(theta,B,-40);
|
||||
hold off
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
可以把式 $\eqref{HPBWOfEndfireUWLA}$ 写成
|
||||
|
||||
$$\begin{equation}
|
||||
|
||||
@@ -21,7 +21,7 @@ abbrlink: 61f0754c
|
||||
date: 2023-06-19 16:25:26
|
||||
---
|
||||
|
||||
  下面主要研究对每个传感器输出进行加权的技术,以获得具有理想性质的频率-波数响应和波束方向图。加权的过程在一些文献中也称为锐化 (tapering) 或赋形 (shading) 。许多阵列加权技术等价于时间序列谱分析中的加窗或锐化 (Taper) 技术。
|
||||
  谱加权(Spectral Weighting)技术主要研究对如何每个传感器输出进行加权,以获得具有理想性质的频率-波数响应和波束方向图。加权的过程在一些文献中也称为锐化 (tapering) 或赋形 (shading) 。许多阵列加权技术等价于时间序列谱分析中的加窗或锐化 (Taper) 技术。
|
||||
|
||||
  对于一个阵元间距小于或等于 $\lambda/2$ 的线阵,由于不需要考虑栅瓣和空域混迭,可以直接应用连续函数的傅里叶变换理论对权重和频率-波数响应之间存在的傅里叶变换关系进行分析。本文关注线性阵列,讨论如何在降低旁瓣的同时使主瓣宽度的增长最小(最小化方向性损失),将尝试不同的权值矢量,并分析它们的性能。
|
||||
|
||||
@@ -111,6 +111,50 @@ $$\begin{equation}
|
||||
|
||||
{width=700px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig3_01.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 3.1
|
||||
% Cosine weighting: Array beam patterns
|
||||
% Kristine Bell
|
||||
% Modified by Xin Zhang 3/17/99
|
||||
% Lillian 04/16/2001, K. Bell 7/20/01, K. Bell 9/30/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
M=11;
|
||||
d=0.5; % sensor spacing wrt wavelength
|
||||
D = (-(M-1)/2:1:(M-1)/2)*d; % sensor positions in wavelengths
|
||||
% weights, normalized so that w(0)=1
|
||||
W_unf = ones(1,M);
|
||||
W_cos = cos(pi*D*2/M);
|
||||
|
||||
% Beampatterns
|
||||
u = 0:0.001:1;
|
||||
A = exp(-1i*2*pi*D.'*u);
|
||||
G_unf = W_unf*A;
|
||||
G_unf = G_unf/(max(abs(G_unf)));
|
||||
G_cos = W_cos*A;
|
||||
G_cos = G_cos/(max(abs(G_cos)));
|
||||
figure
|
||||
% array only
|
||||
clf
|
||||
plot(u,20*log10(abs(G_unf)),'--')
|
||||
hold on
|
||||
plot(u,20*log10(abs(G_cos)),'-')
|
||||
hold off
|
||||
axis([0 1 -80 0])
|
||||
%title([int2str(M) ' element array'])
|
||||
h=legend('Uniform','Cosine');
|
||||
xlabel('$u$','Interpreter','latex')
|
||||
ylabel('Beam pattern (dB)')
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
# 3. 升 Cosine 加权
|
||||
|
||||
  可以把矩形均匀加权和 Cosine 加权组合起来,获得两种加权方法一些理想性质的组合。对应的阵列加权为
|
||||
@@ -129,7 +173,7 @@ $$\begin{equation}
|
||||
|
||||
  在[图 2.1.2](#fig.2-1-2) 中给出了 $p = 0.31, 0.17, 0$ 时的升 Cosine 加权的波束方向图。当 $p$ 减小时,第一旁瓣的高度减小,主波束宽度增加。波束方向图参数如下:
|
||||
|
||||
| $p$ | HPBW | $BW_{NN}$ | 第一旁瓣高度 | $D_N$[^1] |
|
||||
| $p$ | HPBW | $BW_{NN}$ | 第一旁瓣高度 | $D_N$ |
|
||||
| :--: | :--: | :--: | :--: | :--: |
|
||||
| 0.31 | $1.03 \displaystyle\frac{2}{N}$ | $2.50 \displaystyle\frac{2}{N}$ | $-20.0 \text{dB}$ | $0.928$ |
|
||||
| 0.17 | $1.09 \displaystyle\frac{2}{N}$ | $3.70 \displaystyle\frac{2}{N}$ | $-22.0 \text{dB}$ | $0.886$ |
|
||||
@@ -139,6 +183,52 @@ $$\begin{equation}
|
||||
|
||||
{width=700px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig3_02.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 3.2
|
||||
% Raised cosine weighting function
|
||||
% Kristine Bell
|
||||
% Modified by Xin Zhang 3/17/99
|
||||
% Lillian Xu 04/16/2001, K. Bell 7/20/01, 9/30/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
M=11;
|
||||
d=0.5; % sensor spacing wrt wavelength
|
||||
D = (-(M-1)/2:1:(M-1)/2)*d; % sensor positions in wavelengths
|
||||
|
||||
% weights, normalized so that w(0)=1
|
||||
p=[0;0.17;0.31;1];
|
||||
W_rcos = p*ones(1,M)+(ones(4,1)-p)*cos(pi*D*2/M);
|
||||
|
||||
% Beampatterns
|
||||
u = 0:0.001:1;
|
||||
c=p+(ones(4,1)-p)*2/pi;
|
||||
A = exp(-1i*2*pi*D.'*u);
|
||||
G_rcos = W_rcos*A;
|
||||
for m=1:4
|
||||
G_rcos(m,:) = G_rcos(m,:)/(max(abs(G_rcos(m,:))));
|
||||
end
|
||||
|
||||
figure
|
||||
clf
|
||||
plot(u,20*log10(abs(G_rcos(3,:))),'-.')
|
||||
hold on
|
||||
plot(u,20*log10(abs(G_rcos(2,:))),'--')
|
||||
plot(u,20*log10(abs(G_rcos(1,:))),'-')
|
||||
hold off
|
||||
axis([0 1 -80 0])
|
||||
h=legend({'$p=0.31$','$p=0.17$','$p=0$'},'Interpreter','latex');
|
||||
xlabel('$u$','Interpreter','latex')
|
||||
ylabel('Beam pattern (dB)')
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
  至此,我们已经可以使 HPBW 变窄,并使得第一旁瓣比均匀分布的情况要低得多。
|
||||
|
||||
# 4. Cosine$^m$ 加权
|
||||
@@ -157,7 +247,7 @@ $$\begin{equation}
|
||||
|
||||
  $m=2$ 时的加权有时称为是 Hann 加权[^2]。同样,波束方向图可以利用 Cosine 函数的指数形式来计算。波束方向图在[图 2.1.3](#fig.2-1-3) 中给出。当 $m$ 增加时,旁瓣减小,但是主波束变宽。波束方向图的参数为:
|
||||
|
||||
| $m$ | HPBW | $BW_{NN}$ | 第一旁瓣高度 | $D_N$[^1] |
|
||||
| $m$ | HPBW | $BW_{NN}$ | 第一旁瓣高度 | $D_N$ |
|
||||
| :--: | :--: | :--: | :--: | :--: |
|
||||
| 2 | $1.44 \displaystyle\frac{2}{N}$ | $4 \displaystyle\frac{2}{N}$ | $-31.4 \text{dB}$ | $0.667$ |
|
||||
| 3 | $1.66 \displaystyle\frac{2}{N}$ | $5 \displaystyle\frac{2}{N}$ | $-39.4 \text{dB}$ | $0.576$ |
|
||||
@@ -167,6 +257,56 @@ $$\begin{equation}
|
||||
|
||||
{width=700px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig3_03.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 3.3
|
||||
% Cosine^m weighting: m = 2,3,and 4
|
||||
% Kristine Bell
|
||||
% Modified by Xin Zhang 3/17/99
|
||||
% Lillian Xu 04/16/2001, K. Bell 7/20/01, 9/30/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
M=11;
|
||||
d=0.5; % sensor spacing wrt wavelength
|
||||
D = (-(M-1)/2:1:(M-1)/2)*d; % sensor positions in wavelengths
|
||||
|
||||
% weights, normalized so that w(0)=1
|
||||
W_cos2 = cos(pi*D*2/M).^2;
|
||||
W_cos3 = cos(pi*D*2/M).^3;
|
||||
W_cos4 = cos(pi*D*2/M).^4;
|
||||
|
||||
% Beampatterns
|
||||
|
||||
u = 0:0.001:1;
|
||||
A = exp(-1i*2*pi*D.'*u);
|
||||
G_cos2 = W_cos2*A;
|
||||
G_cos2 = G_cos2/(max(abs(G_cos2)));
|
||||
G_cos3 = W_cos3*A;
|
||||
G_cos3 = G_cos3/(max(abs(G_cos3)));
|
||||
G_cos4 = W_cos4*A;
|
||||
G_cos4 = G_cos4/(max(abs(G_cos4)));
|
||||
|
||||
figure
|
||||
clf
|
||||
plot(u,20*log10(abs(G_cos2)),'--')
|
||||
hold on
|
||||
plot(u,20*log10(abs(G_cos3)),'-')
|
||||
plot(u,20*log10(abs(G_cos4)),'-.')
|
||||
hold off
|
||||
axis([0 1 -80 0])
|
||||
h=legend({'$m=2$','$m=3$','$m=4$'},'Interpreter','latex');
|
||||
set(h,'Fontsize',12)
|
||||
xlabel('$u$','Interpreter','latex')
|
||||
ylabel('Beam pattern (dB)')
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
# 5. 升 Cosine 平方加权
|
||||
|
||||
  升 Cosine 平方系列的加权为
|
||||
@@ -200,12 +340,139 @@ $$\begin{equation}
|
||||
B_u(u) = 0.54 \frac{\sin\left(\displaystyle\frac{N\pi u}{2}\right)}{\sin\left(\displaystyle\frac{\pi u}{2}\right)} + 0.23 \left[ \frac{\sin\left( \displaystyle\frac{N\pi}{2} \left( u - \frac{2}{N} \right) \right)}{\sin\left( \displaystyle\frac{\pi}{2} \left( u - \frac{2}{N} \right) \right)} + \frac{\sin\left( \displaystyle\frac{N\pi}{2} \left( u + \frac{2}{N} \right) \right)}{\sin\left( \displaystyle\frac{\pi}{2} \left( u + \frac{2}{N} \right) \right)} \right]
|
||||
\end{equation}$$
|
||||
|
||||
  [图 2.1.4](#fig.2-1-4) 给出了 Hamming 加权、Hann 加权和 Blackman-Harris 加权的波束方向图。第一个零点的位置在 $u = 4/N$,第一个非零旁瓣的高度为 $-39.5\text{dB}$。加权有步进不连续性,使得旁瓣的衰减渐近为 $O(1/n)$。但是,第一个旁瓣被完全对消掉了,剩余的旁瓣都很低,尽管它们的衰减比较慢。而且,注意到 Hamming 窗的波束宽度小于 Hann 加权的波束宽度,且第一旁瓣更低。这是一般变化趋势的一个例外情况。
|
||||
  [图 2.1.4](#fig.2-1-4) 给出了 Hamming 加权、Hann 加权和 Blackman-Harris 加权的波束方向图。第一个零点的位置在 $u = 4/N$,第一个非零旁瓣的高度为 $-39.5\text{dB}$。由于加权具有步进不连续性(step discontinuity),旁瓣的衰减渐近为 $O(1/n)$。但是,第一个旁瓣被完全对消掉了,尽管剩余的旁瓣衰减得比较慢,它们的幅度都不是很高。而且注意到 Hamming 窗的波束宽度小于 Hann 加权的波束宽度,且第一旁瓣更低。
|
||||
|
||||
<a id="fig.2-1-4"></a>
|
||||
|
||||
{width=700px}
|
||||
|
||||
{% note primary MATLAB Code %}
|
||||
|
||||
``` matlab fig3_04.m
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Figure 3.4
|
||||
% Beam patterns for Hann, Hamming, and Blackman-Harris
|
||||
% Kristine Bell
|
||||
% Modified by Xin Zhang 3/17/99
|
||||
% Lillian Xu 04/16/2001, K. Bell 7/20/01, 9/30/01
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Hann, Hamming, Blackman-Harris
|
||||
% M-element array, d=lambda/2
|
||||
|
||||
clear all
|
||||
close all
|
||||
|
||||
M=11;
|
||||
d=0.5; % sensor spacing wrt wavelength
|
||||
D = (-(M-1)/2:1:(M-1)/2)*d; % sensor positions in wavelengths
|
||||
|
||||
% weights, normalized so that w(0)=1
|
||||
W_Hann = 0.5*(ones(1,M)+cos(2*pi*D*2/M));
|
||||
W_Hamm = 0.54*ones(1,M)+0.46*cos(2*pi*D*2/M);
|
||||
W_BH = 0.42*ones(1,M)+0.5*cos(2*pi*D*2/M)+0.08*cos(4*pi*D*2/M);
|
||||
|
||||
% Beampatterns
|
||||
|
||||
u = 0:0.001:1;
|
||||
A = exp(-1i*2*pi*D.'*u);
|
||||
G_Hann = W_Hann*A;
|
||||
G_Hann = G_Hann/(max(abs(G_Hann)));
|
||||
G_Hamm = W_Hamm*A;
|
||||
G_Hamm = G_Hamm/(max(abs(G_Hamm)));
|
||||
G_BH = W_BH*A;
|
||||
G_BH = G_BH/(max(abs(G_BH)));
|
||||
|
||||
figure
|
||||
clf
|
||||
plot(u,20*log10(abs(G_Hann)),'--')
|
||||
hold on
|
||||
plot(u,20*log10(abs(G_Hamm)),'-')
|
||||
plot(u,20*log10(abs(G_BH)),'-.')
|
||||
hold off
|
||||
axis([0 1 -80 0])
|
||||
h=legend('Hann','Hamming','Blackman-Harris');
|
||||
xlabel('$u$','Interpreter','latex')
|
||||
ylabel('Beam pattern (dB)')
|
||||
```
|
||||
|
||||
{% endnote %}
|
||||
|
||||
# 7. Blackman-Harris 加权
|
||||
|
||||
  Blackman-Harris 加权把加权过程扩展到了更高阶谐波的情况,并在前两个旁瓣的峰值位置上放置了零点。加权函数为
|
||||
|
||||
$$\begin{equation}
|
||||
w(\tilde{n}) = 0.42 + 0.5 \cos\left( \frac{2\pi \tilde{n}}{N} \right) + 0.08 \cos\left( \frac{4\pi \tilde{n}}{N} \right), \quad \tilde{n} = -\frac{N-1}{2}, \cdots, \frac{N-1}{2}
|
||||
\end{equation}$$
|
||||
|
||||
对应的波束方向图是多个常规波束方向图的和,已在[图 2.1.4](#fig.2-1-4) 中给出
|
||||
|
||||
$$\begin{equation}
|
||||
\begin{aligned}
|
||||
B_u(u) =& 0.42 \frac{\sin\left( \displaystyle\frac{N\pi u}{2} \right)}{\sin\left( \displaystyle\frac{\pi u}{2} \right)} + 0.25 \left[ \frac{\sin\left( \displaystyle\frac{N\pi}{2} \left( u - \frac{2}{N} \right) \right)}{\sin\left( \displaystyle\frac{\pi}{2} \left( u - \frac{2}{N} \right) \right)} + \frac{\sin\left( \displaystyle\frac{N\pi}{2} \left( u + \frac{2}{N} \right) \right)}{\sin\left( \displaystyle\frac{\pi}{2} \left( u + \frac{2}{N} \right) \right)} \right] \\
|
||||
&+ 0.04 \left[ \frac{\sin\left( \displaystyle\frac{N\pi}{2} \left( u - \frac{2}{N} \right) \right)}{\sin\left( \displaystyle\frac{\pi}{2} \left( u - \frac{2}{N} \right) \right)} + \frac{\sin\left( \displaystyle\frac{N\pi}{4} \left( u + \frac{4}{N} \right) \right)}{\sin\left( \displaystyle\frac{\pi}{4} \left( u + \frac{4}{N} \right) \right)} \right]
|
||||
\end{aligned}
|
||||
\end{equation}$$
|
||||
|
||||
波束方向图的参数为
|
||||
|
||||
| 加权方式 | HPBW | $BW_{NN}$ | 第一旁瓣高度 | $D_N$ |
|
||||
| :--: | :--: | :--: | :--: | :--: |
|
||||
| Hann | $1.44 \displaystyle\frac{2}{N}$ | $4.0 \displaystyle\frac{2}{N}$ | $-31.4 \text{dB}$ | $0.667$ |
|
||||
| Hamming | $1.31 \displaystyle\frac{2}{N}$ | $4.0 \displaystyle\frac{2}{N}$ | $-39.5 \text{dB}$ | $0.730$ |
|
||||
| Blackman-Harris | $1.65 \displaystyle\frac{2}{N}$ | $6.0 \displaystyle\frac{2}{N}$ | $-56.6 \text{dB}$ | $0.577$ |
|
||||
|
||||
至此,所有的加权方法都是基于各种正弦函数进行的。现在看看其他类型的阵列加权技术,试试能否更好在波束宽度和旁瓣之间的获得折中。
|
||||
|
||||
# 8. 长球函数 (Prolate Spheroidal Functions)
|
||||
|
||||
  在设计加权方案时,我们的目标是使得一个给定角度范围内的能量占总能量的比例最大,也即最大化如下比值
|
||||
|
||||
$$\begin{equation}
|
||||
\alpha = \frac{\displaystyle\iint_{\varOmega_1}\left| B(\theta,\varphi) \right|^2 \sin\theta\,\mathrm{d}\theta\,\mathrm{d}\varphi}{\displaystyle\int_0^\pi \int_0^{2\pi}\left| B(\theta,\varphi) \right|^2 \sin\theta\,\mathrm{d}\varphi\,\mathrm{d}\theta}
|
||||
\end{equation}$$
|
||||
|
||||
其中 $\varOmega_1$ 是主波束周围的一个区域。对于标准线性阵列,可以写成
|
||||
|
||||
$$\begin{equation}
|
||||
\alpha = \frac{\displaystyle\int_{-\psi_0}^{\psi_0}\left| B(\psi) \right|^2\,\mathrm{d}\psi}{\displaystyle\int_{-\pi}^{\pi}\left| B(\psi) \right|^2\,\mathrm{d}\psi}
|
||||
\end{equation}$$
|
||||
|
||||
其分子和分母部分可分别写为
|
||||
|
||||
$$\begin{equation}
|
||||
\begin{aligned}
|
||||
&\alpha_N &&\xlongequal{B(\psi) = \boldsymbol{w}^\mathrm{H}\boldsymbol{v}_\psi(\psi)} \int_{-\psi_0}^{\psi_0}\boldsymbol{w}^\mathrm{H}\boldsymbol{v}_\psi(\psi) \boldsymbol{v}_\psi^\mathrm{H}(\psi)\boldsymbol{w}\,\mathrm{d}\psi \\
|
||||
& &&= \boldsymbol{w}^\mathrm{H} \left[ \int_{-\psi_0}^{\psi_0} \boldsymbol{v}_\psi(\psi) \boldsymbol{v}_\psi^\mathrm{H}(\psi) \,\mathrm{d}\psi \right]\boldsymbol{w} \\
|
||||
& &&= \boldsymbol{w}^\mathrm{H}\boldsymbol{A}\boldsymbol{w} \\
|
||||
|
||||
&\alpha_D &&\xlongequal{B(\psi) = \boldsymbol{w}^\mathrm{H}\boldsymbol{v}_\psi(\psi)} \int_{-\pi}^{\pi}\boldsymbol{w}^\mathrm{H}\boldsymbol{v}_\psi(\psi) \boldsymbol{v} \\
|
||||
& &&= \boldsymbol{w}^\mathrm{H}\boldsymbol{A}\boldsymbol{w}
|
||||
\end{aligned}
|
||||
\end{equation}$$
|
||||
|
||||
$$\begin{equation}
|
||||
\end{equation}$$
|
||||
|
||||
其中
|
||||
|
||||
$$\begin{equation}
|
||||
\begin{aligned}
|
||||
\boldsymbol{A} &\triangleq \int_{-\psi_0}^{\psi_0} \boldsymbol{v}_\psi(\psi) \boldsymbol{v}_\psi^\mathrm{H}(\psi) \,\mathrm{d}\psi \\
|
||||
\boldsymbol{B} &\triangleq \int_{-\pi}^{\pi} \boldsymbol{v}_\psi(\psi) \boldsymbol{v}_\psi^\mathrm{H}(\psi) \,\mathrm{d}\psi = 2\pi \boldsymbol{I}
|
||||
\end{aligned}
|
||||
\end{equation}$$
|
||||
|
||||
$$\begin{equation}
|
||||
[\boldsymbol{A}]_{mn} = \int_{-\psi_0}^{\psi_0} e^{jm\psi} e^{-jn\psi} \,\mathrm{d}\psi = \frac{2\sin ((m-n)\psi_0)}{m-n} = 2\psi_0 \,\mathrm{sinc}((m-n)\psi_0)
|
||||
\end{equation}$$
|
||||
|
||||
因此
|
||||
|
||||
$$\begin{equation}
|
||||
\alpha = \frac{\boldsymbol{w}^\mathrm{H}\boldsymbol{A}\boldsymbol{w}}{2\pi \boldsymbol{w}^\mathrm{H}\boldsymbol{w}}
|
||||
\end{equation}$$
|
||||
|
||||
[^1]: 参数 $D_N$ 是阵列的归一化方向性。它是相对于一个均匀加权阵列的方向性进行归一化的。对于标准线阵, $D_N$ 也是归一化的白噪声增益。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user