3
$\begingroup$

Trying to clarify MIMO angle resolution with equations and getting a bit confused. Using this paper's notations ($M$: number of RX, $N$: number of TX, $L$: number of snapshots), the RX signal matrix is written:

RX signal matrix

where:

  • $a_r$ is the RX steering vector $C^{M \times 1}$
  • $a_t$ is the TX steering vector $C^{N \times 1}$
  • $\beta$ is the reflection coefficient (scalar)
  • $S$ is the TX signal matrix $C^{N \times L}$
  • $X$ is the RX signal matrix $C^{M \times L}$
  • $Z$ is the noise matrix $C^{M \times L}$

According to this TI MIMO application report doc we can use 3 FFT to get range, Doppler and angle information. My understanding is that the previous RX signal matrix contains $L$ snapshots for $M$ RX antennas, which means I can use the following $L \times L$ FFT matrix:

$ \begin{equation*} FFT_{RANGE} = \begin{pmatrix} 1 & 1 & \cdots & 1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & \exp(j2\pi \frac{i}{L}) & \cdots & \exp(j2\pi \frac{i(L-1)}{L}) \\ \vdots & \vdots & \ddots & \vdots \\ 1 & \exp(j2\pi \frac{(L-1)}{L}) & \cdots & \exp(j2\pi \frac{(L-1)^2}{L}) \end{pmatrix} \end{equation*} $

to retrieve range information with the $FFT_{RANGE} \times X^T$ matrix multiplication, and the following $M \times M$ FFT matrix:

$ \begin{equation*} FFT_{ANGLE} = \begin{pmatrix} 1 & 1 & \cdots & 1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & \exp(j2\pi \frac{i}{M}) & \cdots & \exp(j2\pi \frac{i(M-1)}{M}) \\ \vdots & \vdots & \ddots & \vdots \\ 1 & \exp(j2\pi \frac{(M-1)}{M}) & \cdots & \exp(j2\pi \frac{(M-1)^2}{M}) \end{pmatrix} \end{equation*} $

to retrieve angle information in the unambiguous range $+/- 90°$ with the $FFT_{ANGLE} \times (FFT_{RANGE} \times X^T)^T$ matrix multiplication. Beyond confirming this is correct, I'm wondering:

  • how can I make the $N \times M$ virtual array size appear in my equations to reveal the actual angle resolution (under an ULA array hypothesis) of the angle FFT ?
  • the missing Doppler information requires extending the RX signal matrix $X$ along a new "chirps" dimension ? Assuming this chirp dimension carries $H$ samples we would then multiply the cube with the following (third) $H \times H$ FFT matrix:

$ \begin{equation*} FFT_{DOPPLER} = \begin{pmatrix} 1 & 1 & \cdots & 1 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & \exp(j2\pi \frac{i}{H}) & \cdots & \exp(j2\pi \frac{i(H-1)}{H}) \\ \vdots & \vdots & \ddots & \vdots \\ 1 & \exp(j2\pi \frac{(H-1)}{H}) & \cdots & \exp(j2\pi \frac{(H-1)^2}{H}) \end{pmatrix} \end{equation*} $

to retrieve Doppler information.

Regarding Capon, the paper referenced at the beginning of my message additionally shows that the presence of obstacles at a given angle $\theta$ can be evaluated using the Capon estimate:

Capon refl coeff estimation

but here again, where would the virtual ULA array size $M \times N$ be to reveal the actual angle resolution of the target DoA estimation ? In the corresponding Cramer Rao bound for the $\beta$ estimator ?

$\endgroup$
6
  • $\begingroup$ Is your hope that you can re-write the expressions with the factors $M$ and $N$ and then whoever looks at the expression can use the typical resolution formulas from that? Or are you looking for further analysis? $\endgroup$ Commented Mar 11 at 17:52
  • $\begingroup$ In a way yes, I want to make the "virtual" $M \times N$ dimension explicitly appear as the actual angle resolution both in 1) the angle pseudo-spectrum in the "triple FFT matrix product" $FFT_{RANGE} \times FFT_{ANGLE} \times FFT_{DOPPLER} \times radar_{CUBE}$ (ignored $.T$ needs) 2) the Capon angle estimation $\endgroup$ Commented Mar 11 at 21:58
  • $\begingroup$ I may not be understanding correctly what you're asking, but I believe the virtual array is just the kronecker product of the transmit and receive steering vectors. $\endgroup$ Commented Mar 13 at 4:55
  • $\begingroup$ thesis.library.caltech.edu/2521/1/thesis.pdf describes it as a convolution. What I want is to make the virtual array size appear in the angle FFT and the Capon DoA estimation in order to demonstrate the actual angle resolution stems from the virtual array size (instead of the RX array; whether one relies on FFT or Capon). Right now it seems I can only explain it with words, e.g. by saying "since each TX can transmit independent signals, I can multiply each RX by the number of independent TX signals sent". Perhaps that's all there is though. $\endgroup$ Commented Mar 13 at 11:46
  • $\begingroup$ In a MIMO system, if you transmit orthogonal waveforms, you can form a virtual array because you can have $N$ matched filters in each of your $M$ receive elements, so you would have $NM$ independent receive signals. If this is what you're looking to have represented in your equations, it seems to me like you would need equation 2 in the first paper you linked. There, the covariance matrix is a diagonal (scaled identity if the waveforms are equal power) due to the waveform orthogonality. Whereas $X\in\mathbb{C}^{MxL}$, $Y\in\mathbb{C}^{MxN}$. $\endgroup$ Commented Mar 13 at 15:20

1 Answer 1

0
$\begingroup$

The received signal at snapshot $l$ is: \begin{equation} X(:,l) = a_{r}(\theta)\beta(\theta)a_{t}^{T}(\theta)S(:,l)+ Z(:,l) \end{equation}

Where $X \in \mathbb{C}^{M\times L}$ is the receive signal matrix (M receive antennas, L snapshots), $a_r(\theta) \in \mathbb{C}^{M \times 1}$ is the receive steering vector, $a_t(\theta) \in \mathbb{C}^{N \times 1}$ is the transmit steering vector, $\beta(\theta)$ is the reflection coefficient (scalar), $S \in \mathbb{C}^{N\times L}$ is the transmit signal matrix, $Z \in \mathbb{C}^{M\times L}$ is the noise matrix.

As I said in my comment, in a MIMO system, if you transmit orthogonal waveforms, you can form a virtual array because you can have $N$ matched filters in each of your $M$ receive elements. The idea is that, since the waveforms are orthogonal, each of the $N$ matched filters on each element will produce a unique response since the cross correlation with all but one of the transmit waveforms will produce an inner product of 0, giving $N$ independent looks on each channel.

Mathematically, after matched filtering the signal model becomes: \begin{equation} Y = XS^{H} = a_{r}(\theta)\beta(\theta)a_{t}^{T}(\theta)R_{ss}+ZS^{H} \end{equation} where $R_{ss} = \frac{1}{L}SS^{H}$. Thus, $Y \in \mathbb{C}^{M\times N}$.

The virtual array steering vector is then the kronecker product of the transmit and receive steering vectors. Thus if we let $Y_{v} = \text{vec}(Y)$, we get \begin{equation} Y_{v} = \left(a_{t}(\theta)\otimes a_{r}(\theta)\right)\beta(\theta) + z_{v} \in\mathbb{C}^{MN\times 1} \end{equation}

Now, looking at the Capon equation they give \begin{equation} \hat{\beta}_{Capon}\left(\theta\right) = \frac{a_{r}^{H}(\theta)\hat{R}^{-1}XS^{H}a_{t}^{*}(\theta)}{L\left[a_{r}^{H}(\theta)\hat{R}^{-1}a_{r}(\theta)\right]\left[a_{t}^{T}(\theta)R_{ss}a_{t}^{*}(\theta)\right]} \end{equation} where $\hat{R} = \frac{1}{L}XX^{H}$, the virtual array becomes obvious by recognizing that $\hat{R}^{-1}XS^{H}$ = $R_{v}^{-1}Y_{v}$ where $R_{v} = E\left[Y_{v}Y_{v}^{H}\right]$. This is only available to us since we transmitted orthogonal waveforms, so from $Y = XS^{H}$ we can say \begin{equation} X = Y\left(S^{H}\right)^{+} = Y\left(SS^{H}\right)^{-1}S = Y(I)^{-1}S = YS \end{equation} where $I$ is the identity matrix, $\left(\cdot\right)^{+}$ is the pseudo-inverse, and we make use of the orthogonality condition for our transmit waveforms \begin{equation} \left\langle s_{n},s_{\bar{n}}\right\rangle = s_{n}s_{\bar{n}}^{H} = \sum_{l=0}^{L-1}s(n,l)s^{*}(\bar{n},l) = \delta_{n,\bar{n}} \end{equation} In other words, our transmit waveforms provide an orthonormal basis for the receive signal on each channel. Thus the Capon estimate can be rewritten as \begin{equation} \beta_{Capon}(\theta) = \frac{a_{v}^{H}(\theta)R_{v}^{-1}Y_{v}}{a_{v}^{H}(\theta)R_{v}^{-1}a_{v}(\theta)} \end{equation} where $a_{v}(\theta) = a_{t}(\theta)\otimes a_{r}(\theta)$, which is an $MN\times 1$ steering vector. Thus, the $MN$ virtual array was already in the equation, it was just difficult to see if you don't know the typical amplitude Capon formula. The typical formula for amplitude Capon doesn't have the second steering vector in the numerator. So, the fact that the second steering vector is there, which is necessary since $\hat{R}^{-1}XS^{H}$ is a matrix as opposed to a vector, shows the virtual array existence. In reality, however, it would be quite difficult I would think to estimate $R_{v}$, so it would be better left as the original form.

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.