Discrete-time beamforming

{{multiple issues|

{{cleanup|reason=copyedit / title not in lead, bad bold of other article, more citations, citations out of headings|date=January 2019}}

{{one source|date=January 2019}}

}}

Beamforming is a signal processing technique used to spatially select propagating waves (most notably acoustic and electromagnetic waves). In order to implement beamforming on digital hardware the received signals need to be discretized. This introduces quantization error, perturbing the array pattern. For this reason, the sample rate must be generally much greater than the Nyquist rate.[http://users.ece.utexas.edu/~bevans/courses/ee381k/lectures/SonarBeamforming/lecture12/discrete.html Sonar Beamforming] users.ece.utexas.edu. Retrieved November 12, 2015

Introduction

Beamforming aims to solve the problem of filtering signals coming from a certain direction as opposed to an omni-directional approach. Discrete-time beamforming is primarily of interest in the fields of seismology, acoustics, sonar and low frequency wireless communications. Antennas regularly make use of beamforming but it is mostly contained within the analog domain.

Beamforming begins with an array of sensors to detect a 4-D signal (3 physical dimensions and time). A 4-D signal s(\mathbf{x},t) exists in the spatial domain at position \mathbf{x} and at time t. The 4-D Fourier transform of the signal yields S(\mathbf{k},\omega) which exists in the wavenumber-frequency spectrum. The wavenumber vector \mathbf{k} represents the 3-D spatial frequency and \omega represents the temporal frequency. The 4-D sinusoid e^{j(\omega t - \mathbf{k}' \mathbf{x})}, where \mathbf{k}' denotes the transpose of the vector \mathbf{k}, can be rewritten as e^{j \omega(t - \boldsymbol{\alpha}' \mathbf{x})} where \boldsymbol{\alpha} = \frac{\mathbf{k}}{\omega} , also known as the slowness vector.

Steering the beam in a particular direction requires that all the sensors add in phase to the particular direction of interest. In order for each sensor to add in phase, each sensor will have a respective delay \tau such that \boldsymbol{\tau_i} = -\boldsymbol{\alpha_o}' \mathbf{x_i} is the delay of the ith sensor at position \mathbf{x_i} and where the direction of the slowness vector \boldsymbol{\alpha_o} is the direction of interest.

= Discrete-time weighted delay-and-sum beamforming =

Source:{{Cite book|title = Multidimensional Signal Processing|last1 = Dudgeon|first1 = Dan|publisher = Prentice-Hall|year = 1983|isbn = 0-13-604959-1|location = |pages = 303–307|first2 = Russel|last2 = Mersereau}}

The discrete-time beamformer output bf(nT) is formed by sampling the receiver signal r_i(t) and averaging its weighted and delayed versions.

bf(nT) = \frac{1}{N} \sum_{i=0}^{N-1} w_i r_i (nT - n_iT)

where:

  • N is the number of sensors
  • w_i are the weights
  • T is the sampling period
  • n_i T is the steering delay for the ith sensor

Setting n_i T equal to -\boldsymbol{\alpha_o}' \mathbf{x_i} would achieve the proper direction but n_i must be an integer. In most cases n_i will need to be quantized and errors will be introduced. The quantization errors can be described as \Delta \tau_i = n_i T - \tau_i. The array pattern for a desired direction given by the slowness vector \alpha_o and for a quantization error \Delta \tau_i becomes:

H(\mathbf{k},\omega) = \frac{1}{N} \sum_{i=0}^{N-1} w_i e^{ -j(\mathbf{k} - \omega \boldsymbol{\alpha_0})' \mathbf{x_i}} e^{ -j \omega \Delta \tau_i }

= Interpolation =

Source:D. Dudgeon and R. Mersereau, Multidimensional Digital Signal Processing, Prentice-Hall, First Edition, pp. 307 - 309, 1983.

File:Interpolation beamforming.PNG

The fundamental problem of discrete weighted delay-and-sum beamforming is quantization of the steering delay. The interpolation method aims to solve this problem by upsampling the receiving signal. n_i must still be an integer but it now has a finer control. Interpolation comes at the cost of more computation. The new sample rate is denoted as \tilde{T}. The beamformer output bf(n\tilde{T}) is now

bf(n\tilde{T}) = \frac{1}{N} \sum_{i=0}^{N-1} w_i \tilde{r}_i(n\tilde{T} -n_i\tilde{T})

The sampling period ratio I = \frac{T}{\tilde{T}} is set to an integer to minimize the increase in computations. The samples \tilde{r}_i(m\tilde{T}) are interpolated from r_i(nT) such that

\tilde{r}_i(m\tilde{T}) = \sum_n r_i(nT)g((m - nI)\tilde{T})

After bf(n\tilde{T}) is upsampled and filtered, the beamformer output bf(m\tilde{T}) becomes:

bf(m\tilde{T}) = \frac{1}{N} \sum_{i=0}^{N-1} w_i \sum_p r_i(pT) g((m- pI - n_i) \tilde{T})

At this point the beamformer's sample rate is greater than the highest frequency it contains.

Frequency-domain beamforming

Source:D. Dudgeon and R. Mersereau, Multidimensional Digital Signal Processing, Prentice-Hall, First Edition, pp. 309 - 311, 1983.

As seen in the discrete-time domain beamforming section, the weighted delay-and-sum method is effective and compact. Unfortunately quantization errors can perturb the array pattern enough to cause complications. The interpolation technique reduces the array pattern perturbations at the cost of a higher sampling rate and more computations on digital hardware. Frequency-domain beamforming does not require a higher sampling rate which makes the method more computationally efficient.{{Cite web|url=http://hdl.handle.net/10919/27765|hdl=10919/27765|title=A Frequency Domain Beamforming Method to Locate Moving Sound Sources|date=4 May 2010|last1=Camargo|first1=Hugo Elias}}

The discrete-time frequency-domain beamformer is given by

fd(nT,\omega) = \frac{1}{N} \sum_{i=0}^{N-1}w_i R_i(nT,\omega)e^ {j\omega(n-\boldsymbol{\tau}_i)}

For linearly spaced sensor arrays \boldsymbol{\tau}_i = - \frac{Mq}{Nl} i. The discrete short-time Fourier transform of r_i(nT) is denoted by R_i(nT,\omega). In order to be computationally efficient it is desirable to evaluate the sum in as few calculations as possible. For simplicity T = 1 moving forward. An effective method exists by considering a 1-D FFT for many values of \omega. If \omega = \frac{2\pi l}{M} for 0 \le l < M then R_i(n,\omega)e^ {j\omega(n-\boldsymbol{\tau}_i)} becomes:

R_i \left( n, \frac{2\pi l}{M} \right) e^{j \frac{2\pi l}{M} n } = \sum_{p=0}^{M-1} r_i(n - p)v(p) e^{j \frac{2\pi l}{M} p}

where p = n-m. Substituting the 1-D FFT into the frequency-domain beamformer:

fd \left( n,\frac{2\pi l}{M} \right) = \left[ \frac{1}{N} \sum_{i=0}^{N-1} w_i R_i \left( n, \frac{2\pi l}{M} e^{j \frac{2\pi q}{N} i} \right) \right] e^{ j \frac{2\pi l}{M} n}

The term in brackets is the 2-D DFT with the opposite sign in the exponential

fd \left( n,\frac{2\pi l}{M} \right) = \frac{1}{N} \sum_{i=0}^{N-1} \sum_{p=0}^{M-1} w_i v(p) r_i(n-p) e^{j \frac{2\pi l}{M} p + j \frac{2\pi q}{N} i}

if the 2-D sequence x_n(p,i) = w_i v(p) r_i(n-p) and X_n(l,q) is the (M X N)-point DFT of x_n(p,i) then

fd \left( n,\frac{2\pi l}{M} \right) = \frac{1}{N} X_n(M-l,N-q)

For a 1-D linear array along the horizontal direction and a desired direction:

\alpha_{0x} = \frac{Mq}{NlD}

where:

  • M and N are dimensions of the DFT
  • D is the sensor separation
  • l is the frequency index between 0 and M-1
  • q is the steering index between 0 and N-1

l and q can be selected to "steer the beam" towards a certain temporal frequency and spatial position

References