diff --git a/_config.next.yml b/_config.next.yml index 63646e7..818d20f 100644 --- a/_config.next.yml +++ b/_config.next.yml @@ -909,7 +909,7 @@ vendors: # The default CDN provider of third-party plugins. # Available values: local | jsdelivr | unpkg | cdnjs | custom # Dependencies for `plugins: local`: https://github.com/next-theme/plugins - plugins: local + plugins: jsdelivr # Custom CDN URL # For example: # custom_cdn_url: https://cdn.jsdelivr.net/npm/${npm_name}@${version}/${minified} diff --git a/source/_posts/2023-04-18-josh-oap-part-1-1.md b/source/_posts/2023-04-18-josh-oap-part-1-1.md index ef86828..2c8c938 100644 --- a/source/_posts/2023-04-18-josh-oap-part-1-1.md +++ b/source/_posts/2023-04-18-josh-oap-part-1-1.md @@ -4,7 +4,7 @@ mathjax: true comments: true copyright: true toc: - enable: false + enable: true number: true wrap: true expand_all: true @@ -21,6 +21,8 @@ tags: - 波束方向图 --- +# 阵列信号处理的目的及基本坐标系 +   假设在空时场(space-time field)的某个区域内有一个或多个信号,同时在某些区域内存在噪声和/或干扰。在一些阵列信号处理的应用场景中,这些区域是部分重叠的。阵列可以利用信号的空域特征,对空时场域内的信号进行滤波。这种滤波可以用一种与角度或波数的相关性(in terms of a dependence upon angle or wavenumber)进行描述。从频域看,这种滤波是通过使用复增益对阵列输出进行加权,根据信号的空域相关性对信号进行增强或抑制来实现的。通常我们对空时场进行空域滤波的目的是:使得从一个(或一组)特定角度到来的信号通过有效的组合得到增强,抑制从其他角度到来的噪声或干扰。 @@ -39,6 +41,8 @@ z &= r \cos\theta +# 阵列的基本模型 +   本文分析一个阵列对外部信号场的响应。阵列由一组全向阵元组成,阵元的位置为 $\vec{p}_n$,如[图 1-1-2](#fig.1-1-2) 所示。阵元在位置 $\vec{p}_n : n = 0, 1, \cdots, N — 1$ 上对信号场进行空域采样。这产生了一组信号,表示为矢量 $\vec{f}\left(t, \vec{p}\right)$ $$\begin{equation} @@ -111,6 +115,8 @@ $$\begin{equation} \label{SampleVectorInFreqDomain} 在大多数情况下,可以去掉式 $\eqref{SampleVectorInFreqDomain}$ 中左边的 $\vec{p}$,直接使用 $\vec{F}(\omega)$ 。 +# 信号到达不同阵元的时延 +   下面考虑如[图 1-1-4](#fig.1-1-4) 所示的简单的波束形成操作。外部信号输入为传播方向为 $\vec{a}$,时域频率(弧度)为 $\omega$ 的平面波,则在时域上每个阵元的输入信号可以用两种等效的方式进行表示。 @@ -262,6 +268,8 @@ $$\begin{equation} 其中 $\vec{v}_{\vec{k}}\left(\vec{k}\right)$ 在式 $\eqref{DefinitionOfArrayManifoldVector}$ 中定义。 +# 单位平面波模型 +   现在回到一般的问题,我们想要确定阵列对一个输入场 $\vec{f}(t, \vec{p})$ 的响应,这可以通过之前给出的卷积求和操作来实现,但更有用的方法是首先确定阵列对单位平面波(unit plane wave)的响应,响应为单位平面波时域(弧度)频率 $\omega$ 和波数 $\vec{k}$ 的函数。(利用叠加的复指数基函数对一个线性时不变系统进行分析的系统理论方法可以扩展到空时信号的情况。) 这里的基函数形式为 @@ -312,6 +320,8 @@ $$\begin{equation}   阵列的波束方向图是确定阵列性能的关键要素。后续将会研究均匀加权线阵(uniformly weighted linear array)的波束方向图。 +# 窄带假设 +   在这里中,我们强调 $f\left( t,\vec{p}_n \right)$ 是带通信号的情况,即 $$\begin{equation} \label{BandpassConstraint} @@ -421,3 +431,8 @@ $$\begin{equation} \end{equation}$$ 这里主要关注的是窄带模型,对于宽带信号,一种处理方法是利用离散傅里叶变换(DFT)把信号分解到更窄的频率柜 (frequency bin),每个频率柜内的信号是满足窄带条件的,因此所有的窄带结果可以直接得到应用。 + +# 参考文献 + +1. Van Trees, Harry L. *Optimum array processing: Part IV of detection, estimation, and modulation theory.* John Wiley & Sons, 2002. +2. Van Trees, Harry L, 汤俊. *最优阵列处理技术.* 清华大学出版社. 2008. diff --git a/source/_posts/2023-04-20-josh-opa-part-1-2.md b/source/_posts/2023-04-20-josh-opa-part-1-2.md index b9194bb..10872c4 100644 --- a/source/_posts/2023-04-20-josh-opa-part-1-2.md +++ b/source/_posts/2023-04-20-josh-opa-part-1-2.md @@ -4,7 +4,7 @@ mathjax: true comments: true copyright: true toc: - enable: false + enable: true number: true wrap: true expand_all: true @@ -13,6 +13,7 @@ tags: - 阵列信号处理 - 均匀线阵 - ULA + - 可视区域 categories: - - Josh 的学习笔记 - 最优阵列处理 @@ -21,7 +22,9 @@ abbrlink: de20fd09 date: 2023-04-20 00:14:31 --- -我们感兴趣的线阵如[图 1-2-1](#fig.1-2-1) 所示,其中有 $N$ 个位于 $z$ 轴上的阵元,阵元间距均匀,记为 $d$。我们把这种阵列称为**{% label primary @均匀线性阵列(uniform linear array, ULA) %}**。我们已经把阵列的中心放在了坐标系的原点上,这种阵列中心放置方法将在计算量上具有优点。 +# 均匀线阵的基本模型 + +  **{% label primary @均匀线性阵列(uniform linear array, ULA) %}**如[图 1-2-1](#fig.1-2-1) 所示,其中有 $N$ 个位于 $z$ 轴上的阵元,阵元间距均匀,记为 $d$;这里将阵列的中心放在了坐标系的原点上,这种放置方法可以简化计算量。 @@ -29,7 +32,7 @@ date: 2023-04-20 00:14:31 -  阵元的位置为 +  如[图 1-2-1](#fig.1-2-1),阵元的位置为 $$\begin{equation} \label{ElementLocation} \begin{cases} @@ -63,33 +66,270 @@ $$\begin{equation} k_0 \triangleq \left| \vec{k} \right| = \frac{2\pi}{\lambda} \end{equation}$$ -意线阵在 0 方向是没有分辨能力的。将[复权矢量][] 和式 $\eqref{ManifoldVectorOfULA}$ 代入[用复权矢量表示的波数-频率响应函数][],得到 ULA 在角度域的频率-波数响应函数 +注意,线阵在 $\varphi$ 方向是没有分辨能力的。将[复权矢量][] 和式 $\eqref{ManifoldVectorOfULA}$ 代入[用复权矢量表示的波数-频率响应函数][],得到 ULA 在角度域的频率-波数响应函数 $$\begin{equation} \label{WFRFOfULAInAngleDomain} \begin{aligned} \vec{\varUpsilon}(\omega,k_z) &= \vec{w}^\mathrm{H}\vec{v}_{\vec{k}}\left(k_z\right) \\ - &= \sum_{n=0}^{N-1} w_n^\ast e^{-j\left( n - \frac{N-1}{2} k_z d \right)} + &= \sum_{n=0}^{N-1} w_n^\ast e^{-j\left( n - \frac{N-1}{2} \right) k_z d} \end{aligned} \end{equation}$$ 定义下面的变量也是很有用的(波数在 $z$ 轴上的投影,乘以阵元间距,也即扫过一个阵元间距时,波数的变化量在 $z$ 轴上的体现): -$$\begin{equation} \eqref{DefinitionOfWavenumberDiffOfTwoElements} +$$\begin{equation} \label{DefinitionOfWavenumberDiffOfTwoElements} \psi = -k_z d = \frac{2\pi}{\lambda}\cos\theta\cdot d = \frac{2\pi}{\lambda}u_z d \end{equation}$$ -其中 $u_z$ 是针对 $z$ 轴的方向余弦, +其中 $u_z$ 是方向余弦的 $z$ 方向分量, $$\begin{equation} u_z = \cos\theta \end{equation}$$ -将式 $\eqref{DefinitionOfWavenumberDiffOfTwoElements}$ 代入式 $\eqref{WFRFOfULAInAngleDomain}$,得到 +将式 $\eqref{DefinitionOfWavenumberDiffOfTwoElements}$ 代入式 $\eqref{WFRFOfULAInAngleDomain}$,得到**在 $\psi$ 空间的频率-波数函数(frequency-wavenumber function in $\psi$-space)** -$$\begin{equation} +$$\begin{equation} \label{WFRFOfULAInWavenumberDomain} \vec{\varUpsilon}_\psi(\psi) = e^{-j \frac{N-1}{2} \psi } \sum_{n=0}^{N-1} w_n^\ast e^{j n\psi} \end{equation}$$ +$\vec{\varUpsilon}(\omega,k_z)$ 和 $\vec{\varUpsilon}_\psi(\psi)$ 的定义域均为 $-\infty$ 到 $\infty$,但仅在区域 $0 \leqslant \theta \leqslant \pi$(或 $-1 \leqslant u_z \leqslant 1$ ) 内代表传播的信号,即有 $-\displaystyle\frac{2\pi d}{\lambda} \leqslant \psi \leqslant \frac{2\pi d}{\lambda}$,这个区域称为**{% label primary @可视区域(visible region) %}**。 + +  可以观察到,若定义 + +$$\begin{equation} + z = e^{j \psi} +\end{equation}$$ + +$$\begin{equation} \label{WFRFOfULAInZDomain} + \vec{\varUpsilon}_z(z) = z^{- \frac{N-1}{2}} \sum_{n=0}^{N-1} w_n^\ast z^{n} +\end{equation}$$ + +则式 $\eqref{WFRFOfULAInZDomain}$ 可以写成 + +$$\begin{equation} + \vec{\varUpsilon}_z(z) = z^{- \frac{N-1}{2}} \left(\sum_{n=0}^{N-1} w_n z^{-n}\right)^\ast +\end{equation}$$ + +其中 + +$$\begin{equation} + W(z) = \sum_{n=0}^{N-1} w_n z^{-n} +\end{equation}$$ + +和 $z$ 变换的形式相似,且 + +$$\begin{equation} \label{WFRFOfULAInZDomainToWavenumberDomain} + \vec{\varUpsilon}_\psi(\psi) = \left. \vec{\varUpsilon}_z(z) \right|_{z=e^{j\psi}} = \left.\left(z^{- \frac{N-1}{2}} W^\ast(z)\right)\right|_{z=e^{j\psi}} +\end{equation}$$ + +是在 $\psi$ 空间的频率-波数响应。我们在后面将利用这个关系。 + +  在式 $\eqref{WFRFOfULAInAngleDomain}$ 、式 $\eqref{WFRFOfULAInWavenumberDomain}$ 和式 $\eqref{WFRFOfULAInZDomainToWavenumberDomain}$ 中用三种不同的方式写出了频率-波数函数,尽管这可能显得引入了过多的符号,但我们将发现在不同的情况下,这些不同的形式都是有用的。 + +  在 $\theta$ 和 $u$ 空间定义出阵列流形也是有用的 + +$$\begin{equation} + \left[ \vec{v}_\theta(\theta) \right] = e^{j\left( n - \frac{N-1}{2} \right) \frac{2\pi d}{\lambda} \cos \theta}, \, n = 0,\cdots, N-1 +\end{equation}$$ + +$$\begin{equation} + \left[ \vec{v}_u(u) \right] = e^{j\left( n - \frac{N-1}{2} \right) \frac{2\pi d}{\lambda} u}, \, n = 0,\cdots, N-1 +\end{equation}$$ + +也可以用三种形式写出波束方向图。频率-波数函数和波束方向图的关键区别是波束方向图的参量受限于实际的物理角度 $\theta$。所以, + +$$\begin{equation} + B_\theta(\theta) = \vec{w}^\mathrm{H} \vec{v}_\theta(\theta) = e^{-j\left(\frac{N-1}{2} \right) \frac{2\pi d}{\lambda} \cos \theta} \sum_{n=0}^{N-1} w_n^\ast e^{j n \frac{2\pi d}{\lambda} \cos \theta}, \, 0 \leqslant \theta \leqslant \pi +\end{equation}$$ + +$$\begin{equation} + B_u(u) = \vec{w}^\mathrm{H} \vec{v}_u(u) = e^{-j\left(\frac{N-1}{2} \right) \frac{2\pi d}{\lambda} u} \sum_{n=0}^{N-1} w_n^\ast e^{j n \frac{2\pi d}{\lambda} u}, \, -1 \leqslant u \leqslant 1 +\end{equation}$$ + +$$\begin{equation} \label{BeamPatternInDirectionCosineDomain} + B_\psi(\psi) = \vec{w}^\mathrm{H} \vec{v}_\psi(\psi) = e^{-j\left(\frac{N-1}{2} \right) \psi} \sum_{n=0}^{N-1} w_n^\ast e^{j n \psi}, \, -\frac{2\pi d}{\lambda} \leqslant \psi \leqslant \frac{2\pi d}{\lambda} +\end{equation}$$ + +当函数的变量很清楚时,我们将省略掉 $B(\,\cdot\,)$ 中的下标。 + +# 均匀线阵的阵列流形 + +  对于均匀线阵,通常用 $\psi$ 表示阵列流形 + +$$\begin{equation} + \left[ \vec{v}_\psi(\psi) \right]_n = e^{j\left( n - \frac{N-1}{2} \right)\psi}, \, n = 0, 1, \cdots, N-1 +\end{equation}$$ + +$$\begin{equation} \label{ManifoldVecOfULAWithConjugateSymmetry} + \boxed{\vec{v}_\psi(\psi) = \left[ \begin{array}{c} + e^{-j\left(\frac{N-1}{2} \right)\psi} \\ + e^{-j\left(\frac{N-3}{2} \right)\psi} \\ + \vdots \\ + e^{j\left(\frac{N-3}{2} \right)\psi} \\ + e^{j\left(\frac{N-1}{2} \right)\psi} \\ + \end{array} \right]} +\end{equation}$$ + +可以看到 ULA 的阵列流形矢量具有**{% label primary @共扼对称性(conjugate symmetry) %}**。 + +{% tabs 阵列流形矢量具有共扼对称性 %} + + +当 $N$ 为偶数时,如果定义一个 $N/2$ 维的矢量 $\vec{v}_{\psi_1}(\psi)$,对应与 $\vec{v}_\psi(\psi)$ 的前 $N/2$ 个元素,则有 + +$$\begin{equation} + \vec{v}_\psi(\psi) = \left[ \begin{array}{c} + \vec{v}_{\psi_1}(\psi) \\ + \vec{J}\vec{v}_{\psi_1}^\ast(\psi) + \end{array} \right] +\end{equation}$$ + + + + + +当 $N$ 为奇数时,如果定义一个 $(N-1)/2$ 维的矢量 $\vec{v}_{\psi_1}(\psi)$,对应与 $\vec{v}_\psi(\psi)$ 的前 $(N-1)/2$ 个元素,则有 + +$$\begin{equation} + \vec{v}_\psi(\psi) = \left[ \begin{array}{c} + \vec{v}_{\psi_1}(\psi) \\ + 1 \\ + \vec{J}\vec{v}_{\psi_1}^\ast(\psi) + \end{array} \right] +\end{equation}$$ + + + +{% endtabs %} + +其中交换矩阵(exchange matrix) $\vec{J}$ + +$$\begin{equation} + \vec{J} = \left[ \begin{array}{c} + 0 & 0 & \cdots & 1 \\ + \vdots & \vdots & & \vdots \\ + 0 & 1 & \cdots & 0 \\ + 1 & 0 & \cdots & 0 \\ + \end{array} \right] +\end{equation}$$ + +在很多应用中,这种共轭对称性可以用于节省运算量和改进性能。例如,如果 $\vec{w}$ 也是共枙对称的,则当 $N$ 为偶数时,可以写成 + +$$\begin{equation} \label{ConjugateSymmetry} + \vec{w} = \left[ \begin{array}{c} + \vec{w}_1 \\ + \vec{J}\vec{w}_1 + \end{array} \right] +\end{equation}$$ + +在 $\psi$ 空间的波束方向图为 + +$$\begin{equation} + \begin{aligned} + B_\psi(\psi) &= \vec{w}^\mathrm{H}\vec{v}_\psi(\psi) \\ + &= \left[\begin{array}{c}\vec{w_1}^\mathrm{H} & \vec{w_1}^\mathrm{T}\vec{J}\end{array}\right] \left[\begin{array}{c}\vec{v}_{\psi_1}(\psi) \\ \vec{J}\vec{v}_{\psi_1}^\ast(\psi)\end{array}\right] \\ + &= \vec{w}_1^\mathrm{H} \vec{v}_{\psi_1}(\psi) + \vec{w_1}^\mathrm{T}\vec{v}_{\psi_1}^\ast(\psi) \\ + &= 2 \Re\left[ \vec{w}_1^\mathrm{H} \vec{v}_{\psi_1}(\psi) \right] + \end{aligned} +\end{equation}$$ + +所以波束方向图是一个实函数。注意到,实对称的权矢量同样能够满足式 $\eqref{ConjugateSymmetry}$;当 $N$ 为奇数时,也有类似的结果。我们将发现很多其他的阵列结构也具有共枙对称性质。 + +  式 $\eqref{ManifoldVecOfULAWithConjugateSymmetry}$ 强调了 $\vec{v}_\psi(\psi)$ 的共枙对称性质。也可以把 $\vec{v}_\psi(\psi)$ 写成 + +$$\begin{equation} + \vec{v}_\psi(\psi) = e^{-j\left(\frac{N-1}{2} \right)\psi} \left[ \begin{array}{c} + 1 \\ + e^{j\psi} \\ + \vdots \\ + e^{j(N-1)\psi} \\ + \end{array} \right] +\end{equation}$$ + +这个形式强调了 $\vec{v}_\psi(\psi)$ 的 Vandermonde 结构。 + +# 从波束方向图导出权矢量 + +  下面讨论如何从特定的方向图 $B(\psi)_\psi$ 中获得权矢量 $\vec{w}$,我们从式 $\eqref{BeamPatternInDirectionCosineDomain}$ 中的关系开始 + +$$\begin{equation} \label{ShortBeamPatternInDirectionCosineDomain} + B_\psi(\psi) = \vec{w}^\mathrm{H} \vec{v}_\psi(\psi) +\end{equation}$$ + +假设 $B(\psi)_\psi$ 是已知的,我们想确定产生这个 $B(\psi)_\psi$ 的 $\vec{w}$。由于 $\vec{w}^\mathrm{H}$ 是一个 $1 \times N$ 维的矢量,因此如果知道 $B(\psi)_\psi$ 在 $N$ 个 $\psi$ 值上的值,就可以确定 $\vec{w}$。 + +  我们对波束方向图在 $N$ 个 $\psi_i, i = 1,\cdots,N$ 上进行采样。$\psi_i$ 必须是不同的,但不一定是等距的,记采样点处的波束方向图的值为 $B(\psi_i)$。根据式 $\eqref{ShortBeamPatternInDirectionCosineDomain}$,有 + +$$\begin{equation} \label{ElementOfShortBeamPatternInDirectionCosineDomain} + \vec{w}^\mathrm{H} \vec{v}(\psi_i) = B(\psi_i), \, i = 1, \cdots, N +\end{equation}$$ + +定义一个 $N \times N$ 维的阵列流形矩阵 + +$$\begin{equation} + \vec{V}(\psi) \triangleq \left[ \begin{array}{c}\vec{v}(\psi_1) & \cdots & \vec{v}(\psi_N)\end{array}\right] +\end{equation}$$ + +和一个 $1 \times N$ 维的波束方向图矩阵 + +$$\begin{equation} + \vec{B} \triangleq \left[ \begin{array}{c}B(\psi_1) & \cdots & B(\psi_N)\end{array}\right] +\end{equation}$$ + +则式 $\eqref{ElementOfShortBeamPatternInDirectionCosineDomain}$ 可以写成 + +$$\begin{matrix} + \vec{w}^\mathrm{H} \vec{V}(\psi) = \vec{B} +\end{matrix}$$ + +或 + +$$\begin{matrix} + \vec{V}^\mathrm{H}(\psi) \vec{w} = \vec{B}^\mathrm{H} +\end{matrix}$$ + +由于 $\vec{V}^\mathrm{H}(\psi)$ 是满秩的,所以 + +$$\begin{equation} \label{WeightVecCalculation} + \boxed{\vec{w} = \left[ \vec{V}^\mathrm{H}(\psi) \right]^{-1}\vec{B}^\mathrm{H}} +\end{equation}$$ + +尽管 $\psi_i$ 可以任意选择,但如果它们相距太近,那么阵列流形矢量将接近于线性相关,在式 $\eqref{WeightVecCalculation}$ 中的求逆可能会有数值计算的问题。如果采用均匀间距 $2\pi/N$,那么后续将会推导一个高效的权值计算算法。 + +  我们特别感兴趣的一种情况是已经定义了波束方向图的 $N — 1$ 个零点。如果假设阵列的指向为正侧向(broadside,即阵列排布方向和信号来向垂直),令 + +$$\begin{equation} + \psi_1 = 0 +\end{equation}$$ + +且 $\psi_2, \psi_3, \cdots, \psi_N$ 对应于零点的位置。假设预期的归一化波束方向图为: + +$$\begin{matrix} + \vec{B} = \left[ \begin{array}{c} 1 & 0 & \cdots & 0 \end{array} \right] = \vec{e}_1^\mathrm{T} +\end{matrix}$$ + +则式 $\eqref{WeightVecCalculation}$ 简化为 + +$$\begin{equation} \label{WeightVecCalculationWithAllZeroExceptMainAxis} + \boxed{\vec{w} = \left[ \vec{V}^\mathrm{H}(\psi) \right]^{-1}\vec{e}_1} +\end{equation}$$ + +后续将发现这些算法是非常有用的。 + +在式 $\eqref{WeightVecCalculation}$ 和式 $\eqref{WeightVecCalculationWithAllZeroExceptMainAxis}$ 中有两点需要强调: + +1. 我们已经假设 $B_\psi(\psi)$ 在式 $\eqref{ShortBeamPatternInDirectionCosineDomain}$ 中进行了定义。换句话说,它是由一个 $N \times 1$ 维复数矢量 $\vec{w}$ 产生的。如果 $B_\psi(\psi)$ 是任意函数,且使用式 $\eqref{WeightVecCalculation}$,那么将产生一个方向图,和 $B(\psi_i), i = 1,\cdots,N$ 相匹配,但不一定和函数 $B_\psi(\psi)$ 相匹配。 + +2. 我们是在一个均匀线阵的背景下介绍这个结果的。但是,这个推导过程适用于任意结构的 $N$ 阵元阵列。 + +我们已经推导了阵列流形矢量、权值矢量和波束方向图之间的基本关系。下一节将考虑均匀加权的特殊情况。 + +# 参考文献 + +1. Van Trees, Harry L. *Optimum array processing: Part IV of detection, estimation, and modulation theory.* John Wiley & Sons, 2002. +2. Van Trees, Harry L, 汤俊. *最优阵列处理技术.* 清华大学出版社. 2008. + [阵列流形矢量的定义]: https://josh-gao.top/posts/8b61f5a7.html#DefinitionOfArrayManifoldVector [复权矢量]: https://josh-gao.top/posts/8b61f5a7.html#ComplexWeightVector [用复权矢量表示的波数-频率响应函数]: https://josh-gao.top/posts/8b61f5a7.html#FrequencyWavenumberResponseWithComplexWeigh