如果我们指定了一个方向,则在各个方向上的接收天线,能收到的能量满足:
∣
G
(
ψ
)
∣
=
{
∣
s
i
n
(
N
ψ
/
2
)
N
s
i
n
(
ψ
/
2
)
∣
,
if
ψ
≠
0
1
,
if
ψ
=
0
−
−
−
−
−
−
公式
(
1
)
|G(\psi)|= \begin{cases} |\frac{sin(N\psi/2)}{Nsin(\psi/2)}|, & \text {if $\psi \neq 0$} \\ 1, & \text{if $\psi=0$} \end{cases} ------公式(1)
∣G(ψ)∣={∣Nsin(ψ/2)sin(Nψ/2)∣,1,if ψ=0if ψ=0−−−−−−公式(1)
其中:
ψ
=
2
π
d
λ
c
o
s
(
θ
)
−
2
π
d
λ
c
o
s
(
θ
0
)
\psi=\frac{2\pi d}{\lambda}cos(\theta)-\frac{2\pi d}{\lambda}cos(\theta_{0})
ψ=λ2πdcos(θ)−λ2πdcos(θ0)
θ
0
\theta_{0}
θ0 表示我们想指向的方向,
θ
\theta
θ 是一个变的量,遍历整个
−
π
-\pi
−π 到
π
\pi
π 的这样的一圈。为了简单起见,我们不妨设
θ
0
=
π
/
2
\theta_{0}=\pi/2
θ0=π/2,则:
ψ
=
2
π
d
λ
c
o
s
(
θ
)
−
2
π
d
λ
c
o
s
(
θ
0
)
=
2
π
d
λ
c
o
s
(
θ
)
−
公式
(
2
)
\psi=\frac{2\pi d}{\lambda}cos(\theta)-\frac{2\pi d}{\lambda}cos(\theta_{0})=\frac{2\pi d}{\lambda}cos(\theta)-公式(2)
ψ=λ2πdcos(θ)−λ2πdcos(θ0)=λ2πdcos(θ)−公式(2)
为了只有一个指定的波束方向(指哪儿打哪儿,这里应该理解为数学上的极大值点,应该保证只有一个波束极大值点),则
ψ
/
2
\psi /2
ψ/2 应该介于
[
−
π
/
2
,
π
/
2
]
[-\pi/2,\pi/2]
[−π/2,π/2] 之间,即
2
π
d
λ
c
o
s
(
θ
)
\frac{2\pi d}{\lambda}cos(\theta)
λ2πdcos(θ) 在
[
−
π
,
π
]
[-\pi,\pi]
[−π,π] 之间,所以
d
λ
≤
1
2
\frac{d}{\lambda}\leq \frac{1}{2}
λd≤21
我们可以画图来感受下,如果
d
λ
=
1
>
1
2
\frac{d}{\lambda}=1> \frac{1}{2}
λd=1>21
那么 ψ = 2 π d λ c o s ( θ ) ∈ [ − 2 π , 2 π ] \psi=\frac{2\pi d}{\lambda}cos(\theta)\in[-2\pi,2\pi] ψ=λ2πdcos(θ)∈[−2π,2π]
则,我们对公式(1),按照上式画出幅度:
import numpy as np
from matplotlib import pyplot as plt
N = 32 #天线数量
psi = np.arange(-2*np.pi, 2*np.pi-0.0000001, 0.01)
r = np.abs(np.sin(N * psi/2)/np.sin(psi/2))/N
plt.figure()
plt.plot(psi/np.pi, r)
plt.grid()
plt.show()
![](https://i-blog.csdnimg.cn/blog_migrate/c885e05c22a248a20b26d79e102667c1.png)
在 [ − π , π ] [-\pi,\pi] [−π,π] 之间只有一个最高点,在这之外,极大值点开始逐渐增大,即在另外一些方向上,也有较大的能量辐射到那个方向上。
所以,当
d
λ
\frac{d}{\lambda}
λd 从 0.5 逐渐增大到 1 的过程中,可以看到多出来的指向逐渐显现出来:
![](https://i-blog.csdnimg.cn/blog_migrate/7c3ccde18753027fdbeca9c8f53d3264.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5ee37c07ad89fda742e57b0a8f939fe4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d1b3712b65a8af27542bafd8f000396.png)
![](https://i-blog.csdnimg.cn/blog_migrate/11d45aeaf7041ce2cdd3ee28c6fd7646.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a30c8569ea01d12805331ed397407660.png)
import numpy as np
from matplotlib import pyplot as plt
N = 8 #天线数量
theta = np.arange(0.000001,2*np.pi-0.0000001,0.01)
d_vs_lambda = 0.5
psi = 2 * np.pi * d_vs_lambda * np.cos(theta)
r = np.abs(np.sin(N * psi/2)/np.sin(psi/2))/N
plt.figure()
plt.polar(theta,r)
plt.title("0.5")
plt.show()
d_vs_lambda = 0.6
psi = 2 * np.pi * d_vs_lambda * np.cos(theta)
r = np.abs(np.sin(N * psi/2)/np.sin(psi/2))/N
plt.figure()
plt.polar(theta,r)
plt.title("0.6")
plt.show()
d_vs_lambda = 0.7
psi = 2 * np.pi * d_vs_lambda * np.cos(theta)
r = np.abs(np.sin(N * psi/2)/np.sin(psi/2))/N
plt.figure()
plt.polar(theta,r)
plt.title("0.7")
plt.show()
d_vs_lambda = 0.8
psi = 2 * np.pi * d_vs_lambda * np.cos(theta)
r = np.abs(np.sin(N * psi/2)/np.sin(psi/2))/N
plt.figure()
plt.polar(theta,r)
plt.title("0.8")
plt.show()
d_vs_lambda = 0.9
psi = 2 * np.pi * d_vs_lambda * np.cos(theta)
r = np.abs(np.sin(N * psi/2)/np.sin(psi/2))/N
plt.figure()
plt.polar(theta,r)
plt.title("0.9")
plt.show()
d_vs_lambda = 1.0
psi = 2 * np.pi * d_vs_lambda * np.cos(theta)
r = np.abs(np.sin(N * psi/2)/np.sin(psi/2))/N
plt.figure()
plt.polar(theta,r)
plt.title("1.0")
plt.show()