假设有 M 根发射天线,则每个发射角,我们都可以对应一个向量:
[
e
j
0
ψ
e
j
2
ψ
.
.
.
e
j
(
M
−
1
)
ψ
]
−
−
−
公式
(
3
)
[e^{j0\psi}\;\;e^{j2\psi}\;\;...\;\;e^{j(M-1)\psi}]\;\;---公式(3)
[ej0ψej2ψ...ej(M−1)ψ]−−−公式(3)
我们知道,上面这个是一个 M 维的向量,可以认为是 M 维空间上的一个向量,由于角度的选取有无穷多个,则可以产生无穷多个向量,既然是 M 维空间,我们应该可以找到 M 个正交向量,构成一个基,其它所有向量都可以用这个基中的 M 个向量线性组合来生成。
那,问题是,我们能保证找到 M 个正交向量吗?当然,如果没有任何限制,那 M 维空间一定有 M 个正交向量构成一个基,但是,如果我们对正交向量加了约束条件,不能任意选择,那就未必能找到。
我们加的条件是,形如公式 (3) 的向量, ψ \psi ψ 取不同的值,就得到不同的向量。在这样的条件下,两个向量正交,需要两个 ψ \psi ψ 的取值,相差非 0 整数倍的 2 π / M 2\pi/M 2π/M 。可以证明(见附录),这样的两个向量是正交的。
如果第一个向量,我们取 ψ = 0 \psi=0 ψ=0
第二个向量取 ψ = 2 π / M \psi=2\pi/M ψ=2π/M
依此类推,最后一个向量取
ψ
=
2
π
M
∗
(
M
−
1
)
\psi=\frac{2\pi}{M} * (M-1)
ψ=M2π∗(M−1)
所以,
ψ
\psi
ψ 取值范围要大于等于
2
π
2\pi
2π,否则,就拿不到 M 个正交向量。
从公式(2)可以看到,
ψ
\psi
ψ 的范围宽度为
2
π
d
λ
∗
2
\frac{2\pi d}{\lambda} * 2
λ2πd∗2
那么:
2
π
d
λ
∗
2
≥
2
π
\frac{2\pi d}{\lambda}*2\geq 2\pi
λ2πd∗2≥2π
则:
d
λ
≥
1
2
\frac{d}{\lambda}\geq \frac{1}{2}
λd≥21
综合以上的推导,则:
d
λ
=
1
2
\frac{d}{\lambda}= \frac{1}{2}
λd=21
而且 M 个正交向量分别为:
这样得到了由 M 个正交向量组成的一个基。
如果
d
λ
<
1
2
\frac{d}{\lambda}< \frac{1}{2}
λd<21
那么就不能构成 M 维空间,就会变成 M 维空间的子空间(这里有点抽象,我也不知道该怎么说得能更清楚),从“指哪打哪” 的角度来理解,就不能做到很精确的 “指哪打哪”。
import numpy as np
from matplotlib import pyplot as plt
N = 32 #天线数量
theta = np.arange(-np.pi,np.pi-0.0000001,0.01)
d_vs_lambda = 0.01 # 请修改这个值,即使用不同的 d/lambda
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.show()
plt.figure()
plt.plot(theta/np.pi,r)
plt.ylim([0,1.1])
plt.show()
修改程序中变量 d_vs_lambda 的值,从 0.5 逐渐减小,看是什么效果:
相当于只有一根天线,确实是往四周辐射信号的。
在 M 维空间中,如果找不到 M 个满足上面条件的正交向量来构成一个基,那么,就是在空间“指哪打哪”的精度的损失,这一点在视频中有比较充分的说明。
附录:证明基正交
∑
n
=
0
M
−
1
e
−
j
ψ
n
e
j
(
ψ
+
2
π
M
k
)
n
=
∑
n
=
0
M
−
1
e
j
2
π
M
k
n
\sum_{n=0}^{M-1}e^{-j\psi n}e^{j(\psi+\frac{2\pi}{M}k)n}=\sum_{n=0}^{M-1}e^{j\frac{2\pi}{M}kn}
n=0∑M−1e−jψnej(ψ+M2πk)n=n=0∑M−1ejM2πkn
可以认为是在一个周期内求和,结果就是0。
注:复数正交,<A取共轭,B>=0,则 A 与 B 正交。