Discrete-time beamforming

From testwiki
Jump to navigation Jump to search

Template:Multiple issues

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.[1]

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(𝐱,t) exists in the spatial domain at position 𝐱 and at time t. The 4-D Fourier transform of the signal yields S(𝐀,ω) which exists in the wavenumber-frequency spectrum. The wavenumber vector 𝐀 represents the 3-D spatial frequency and ω represents the temporal frequency. The 4-D sinusoid ej(ωt𝐀𝐱), where 𝐀 denotes the transpose of the vector 𝐀, can be rewritten as ejω(tα𝐱) where α=𝐀ω , 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 τ such that τπ’Š=α𝒐𝐱𝐒 is the delay of the ith sensor at position 𝐱𝐒 and where the direction of the slowness vector α𝒐 is the direction of interest.

Discrete-time weighted delay-and-sum beamforming

Source:[2]

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

bf(nT)=1Ni=0N1wiri(nTniT)

where:

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

Setting niT equal to α𝒐𝐱𝐒 would achieve the proper direction but ni must be an integer. In most cases ni will need to be quantized and errors will be introduced. The quantization errors can be described as Δτi=niTτi. The array pattern for a desired direction given by the slowness vector αo and for a quantization error Δτi becomes:

H(𝐀,ω)=1Ni=0N1wiej(𝐀ωα0)𝐱𝐒ejωΔτi

Interpolation

Source:[3]

Flowchart of upsample and linear filter for discrete-time beamforming

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. ni 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 T~. The beamformer output bf(nT~) is now

bf(nT~)=1Ni=0N1wir~i(nT~niT~)

The sampling period ratio I=TT~ is set to an integer to minimize the increase in computations. The samples r~i(mT~) are interpolated from ri(nT) such that

r~i(mT~)=nri(nT)g((mnI)T~)

After bf(nT~) is upsampled and filtered, the beamformer output bf(mT~) becomes:

bf(mT~)=1Ni=0N1wipri(pT)g((mpIni)T~)

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

Frequency-domain beamforming

Source:[4]

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.[5]

The discrete-time frequency-domain beamformer is given by

fd(nT,ω)=1Ni=0N1wiRi(nT,ω)ejω(nτi)

For linearly spaced sensor arrays τi=MqNli. The discrete short-time Fourier transform of ri(nT) is denoted by Ri(nT,ω). 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 ω. If ω=2πlM for 0l<M then Ri(n,ω)ejω(nτi) becomes:

Ri(n,2πlM)ej2πlMn=p=0M1ri(np)v(p)ej2πlMp

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

fd(n,2πlM)=[1Ni=0N1wiRi(n,2πlMej2πqNi)]ej2πlMn

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

fd(n,2πlM)=1Ni=0N1p=0M1wiv(p)ri(np)ej2πlMp+j2πqNi

if the 2-D sequence xn(p,i)=wiv(p)ri(np) and Xn(l,q) is the (M X N)-point DFT of xn(p,i) then

fd(n,2πlM)=1NXn(Ml,Nq)

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

α0x=MqNlD

where:

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

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

References

Template:Reflist

  1. ↑ Sonar Beamforming users.ece.utexas.edu. Retrieved November 12, 2015
  2. ↑ Template:Cite book
  3. ↑ D. Dudgeon and R. Mersereau, Multidimensional Digital Signal Processing, Prentice-Hall, First Edition, pp. 307 - 309, 1983.
  4. ↑ D. Dudgeon and R. Mersereau, Multidimensional Digital Signal Processing, Prentice-Hall, First Edition, pp. 309 - 311, 1983.
  5. ↑ Template:Cite web