假设有 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 正交。