# Constant-Beamwidth LCMV Beamformer with Rectangular Arrays
## Appendix A Proof of CKP Beamforming for URAs  
We assume a rectangular uniform sensor array of size \(M_{\text{x}}\times M_{\text{y}}\), with steering vector \(\mathbf{d}\), and two subarrays of sizes \(M_{1,\text{x}}\times M_{1,\text{y}}\) and \(M_{2,\text{x}}\times M_{2,\text{y}}\), with steering vectors \(\mathbf{d}_{1}\) and \(\mathbf{d}_{2}\), such that \(M_{1,\text{x}}+M_{2,\text{x}}-1=M_{\text{x}}\) and \(M_{1,\text{y}}+M_{2,\text{y}}-1=M_{\text{y}}\). We define  
\[\widetilde{\mathbf{h}} =\mathbf{h}_{1}\otimes\mathbf{h}_{2}, \tag{12a}\] \[\widetilde{\mathbf{d}} =\mathbf{d}_{1}\otimes\mathbf{d}_{2}. \tag{12b}\]  
From this, it easily follows that  
\[\widetilde{\mathbf{h}}^{\text{H}}\widetilde{\mathbf{d}}=\left(\mathbf{h}_{1}^ {\text{H}}\mathbf{d}_{1}\right)\left(\mathbf{h}_{2}^{\text{H}}\mathbf{d}_{2}\right). \tag{13}\]  
Expanding both,  
\[\mathbf{h}^{\text{H}}\mathbf{d}=\left(\sum_{m_{1}=0}^{M_{1}-1}h_{1}^{*}[m_{1} ]d[m_{1}]\right)\left(\sum_{m_{2}=0}^{M_{2}-1}h_{2}^{*}[m_{2}]d[m_{2}]\right). \tag{14}\]  
We define \(\mathbf{H}_{1}=\mathcal{V}^{-1}\big{(}\mathbf{h}_{1};\,M_{1,\text{y}}\big{)}\) as the inverse vectorization of \(\mathbf{h}_{1}\); similarly, \(\mathbf{D}=\mathcal{V}^{-1}(\mathbf{d};\,M_{\text{y}})\) is the inverse vectorization of \(\mathbf{d}\), and \(\mathbf{H}_{2}=\mathcal{V}^{-1}\big{(}\mathbf{h}_{2};\,M_{2,\text{y}}\big{)}\) is the inverse vectorization of \(\mathbf{h}_{2}\). Using the inverse vectorization on the sum over \(m_{1}\), we have  
\[\sum_{m_{1}=0}^{M_{1}-1}h_{1}^{*}[m_{1}]d[m_{1}]=\sum_{m_{1,\text{x}}=0}^{M_{1,\text{x}}-1}\sum_{m_{1,\text{y}}=0}^{M_{1,\text{y}}-1}H_{1}^{*}[m_{1,\text{ x}},\,m_{1,\text{y}}]D[m_{1,\text{x}},\,m_{1,\text{y}}]. \tag{15}\]We also assume that \(D[m_{1,\infty},m_{1,y}]=d_{\kappa}[m_{1,\infty}]d_{y}[m_{1,y}]\), by the definition of the steering vector. Applying a similar process to the sum over \(m_{2}\) from (A3),  
\[ \begin{split}\widehat{\mathbf{h}}^{\mathsf{H}\sim}\widehat{ \mathbf{d}}=&\left(\sum_{\begin{subarray}{c}m_{1,y}=0\\ m_{1,\infty}=0\end{subarray}}^{M_{1,\infty}-1}H_{1}^{*}[m_{1,\infty},m_{1,y} ]d_{\kappa}[m_{1,\infty}]d_{y}[m_{1,y}]\right)\\ &\times\left(\sum_{\begin{subarray}{c}m_{2,y}=0\\ m_{2,\infty}=0\end{subarray}}^{M_{2,\infty}-1}H_{1}^{*}[m_{2,\infty},m_{2,y} ]d_{\kappa}[m_{2,\infty}]d_{y}[m_{2,y}]\right),\end{split} \] (A5)  
By applying the Cauchy product [33] to the second sum twice,  
\[ \begin{split}\widehat{\mathbf{h}}^{\mathsf{H}\sim}\widehat{ \mathbf{d}}&=\sum_{\begin{subarray}{c}m_{y}=0\\ m_{\kappa}=0\end{subarray}}^{M_{1,\infty}+M_{2,y}-2}\sum_{\begin{subarray}{c} n_{y}=1,y\\ n_{\kappa}=-1,x\end{subarray}}^{R_{2,y}}\left(H_{1}^{*}[n_{\kappa},n_{y}]d_{ \kappa}[n_{\kappa}]d_{y}[n_{y}]\right)\\ &\times\left(H_{2}^{*}[m_{\kappa}-n_{\kappa},m_{y}-n_{y}]d_{ \kappa}[m_{\kappa}-n_{\kappa}]d_{y}[m_{y}-n_{y}]\right)\\ &=\sum_{\begin{subarray}{c}m_{y}=0\\ m_{\kappa}=0\end{subarray}}^{M_{\kappa}-1}\sum_{\begin{subarray}{c}n_{y}=1\\ n_{\kappa}=-1,x\end{subarray}}^{k_{2,x}}\left(H_{1}^{*}[n_{\kappa},n_{y}]H_{2}^ {*}[m_{\kappa}-n_{\kappa},m_{y}-n_{y}]\right)\\ &\times\left(d_{\kappa}[n_{\kappa}]d_{y}[n_{y}]d_{\kappa}[m_{\kappa }-n_{y}]d_{y}[m_{y}-n_{y}]\right).\end{split} \] (A6)  
By the definition of the steering vectors, \(d_{\kappa}[a]d_{y}[b]=d_{\kappa}[a+b]\) (also for \(d_{y}\)), and, therefore, the \(d\) term becomes \(d_{\kappa}[m_{\kappa}]d_{y}[m_{y}]=D[m_{\kappa},m_{y}]\). By noting that the sum over \(\mathbf{H}_{1}\) and \(\mathbf{H}_{2}\) is the 2-D convolution between them (at the element \([m_{\kappa},m_{y}]\)), and with this defining \(\mathbf{H}=\mathbf{H}_{1}\mathbin{\text{\textcircled{\char 10}}}\mathbf{H}_{2}\) (where \(\mathbin{\text{\textcircled{\char 10}}}\) denotes the 2-D convolution), then  
\[\widehat{\mathbf{h}}^{\mathsf{H}}\widetilde{\mathbf{d}}=\sum_{ \begin{subarray}{c}m_{y}=0\\ m_{\kappa}=0\end{subarray} }^{M_{\kappa}-1}H^{*}[m_{\kappa},m_{y}]D[m_{\kappa },m_{y}].\] (A7)  
Finally, by vectorizing \(\mathbf{H}\) and \(\mathbf{D}\) into \(\mathbf{h}\) and \(\mathbf{d}\),  
\[