- Source: Discrete-time beamforming
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.
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
(
x
,
t
)
{\displaystyle s(\mathbf {x} ,t)}
exists in the spatial domain at position
x
{\displaystyle \mathbf {x} }
and at time
t
{\displaystyle t}
. The 4-D Fourier transform of the signal yields
S
(
k
,
ω
)
{\displaystyle S(\mathbf {k} ,\omega )}
which exists in the wavenumber-frequency spectrum. The wavenumber vector
k
{\displaystyle \mathbf {k} }
represents the 3-D spatial frequency and
ω
{\displaystyle \omega }
represents the temporal frequency. The 4-D sinusoid
e
j
(
ω
t
−
k
′
x
)
{\displaystyle e^{j(\omega t-\mathbf {k} '\mathbf {x} )}}
, where
k
′
{\displaystyle \mathbf {k} '}
denotes the transpose of the vector
k
{\displaystyle \mathbf {k} }
, can be rewritten as
e
j
ω
(
t
−
α
′
x
)
{\displaystyle e^{j\omega (t-{\boldsymbol {\alpha }}'\mathbf {x} )}}
where
α
=
k
ω
{\displaystyle {\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
τ
{\displaystyle \tau }
such that
τ
i
=
−
α
o
′
x
i
{\displaystyle {\boldsymbol {\tau _{i}}}=-{\boldsymbol {\alpha _{o}}}'\mathbf {x_{i}} }
is the delay of the ith sensor at position
x
i
{\displaystyle \mathbf {x_{i}} }
and where the direction of the slowness vector
α
o
{\displaystyle {\boldsymbol {\alpha _{o}}}}
is the direction of interest.
= Discrete-time weighted delay-and-sum beamforming
=Source:
The discrete-time beamformer output
b
f
(
n
T
)
{\displaystyle bf(nT)}
is formed by sampling the receiver signal
r
i
(
t
)
{\displaystyle r_{i}(t)}
and averaging its weighted and delayed versions.
b
f
(
n
T
)
=
1
N
∑
i
=
0
N
−
1
w
i
r
i
(
n
T
−
n
i
T
)
{\displaystyle bf(nT)={\frac {1}{N}}\sum _{i=0}^{N-1}w_{i}r_{i}(nT-n_{i}T)}
where:
N
{\displaystyle N}
is the number of sensors
w
i
{\displaystyle w_{i}}
are the weights
T
{\displaystyle T}
is the sampling period
n
i
T
{\displaystyle n_{i}T}
is the steering delay for the ith sensor
Setting
n
i
T
{\displaystyle n_{i}T}
equal to
−
α
o
′
x
i
{\displaystyle -{\boldsymbol {\alpha _{o}}}'\mathbf {x_{i}} }
would achieve the proper direction but
n
i
{\displaystyle n_{i}}
must be an integer. In most cases
n
i
{\displaystyle n_{i}}
will need to be quantized and errors will be introduced. The quantization errors can be described as
Δ
τ
i
=
n
i
T
−
τ
i
{\displaystyle \Delta \tau _{i}=n_{i}T-\tau _{i}}
. The array pattern for a desired direction given by the slowness vector
α
o
{\displaystyle \alpha _{o}}
and for a quantization error
Δ
τ
i
{\displaystyle \Delta \tau _{i}}
becomes:
H
(
k
,
ω
)
=
1
N
∑
i
=
0
N
−
1
w
i
e
−
j
(
k
−
ω
α
0
)
′
x
i
e
−
j
ω
Δ
τ
i
{\displaystyle 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:
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
{\displaystyle 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
T
~
{\displaystyle {\tilde {T}}}
. The beamformer output
b
f
(
n
T
~
)
{\displaystyle bf(n{\tilde {T}})}
is now
b
f
(
n
T
~
)
=
1
N
∑
i
=
0
N
−
1
w
i
r
~
i
(
n
T
~
−
n
i
T
~
)
{\displaystyle 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
=
T
T
~
{\displaystyle I={\frac {T}{\tilde {T}}}}
is set to an integer to minimize the increase in computations. The samples
r
~
i
(
m
T
~
)
{\displaystyle {\tilde {r}}_{i}(m{\tilde {T}})}
are interpolated from
r
i
(
n
T
)
{\displaystyle r_{i}(nT)}
such that
r
~
i
(
m
T
~
)
=
∑
n
r
i
(
n
T
)
g
(
(
m
−
n
I
)
T
~
)
{\displaystyle {\tilde {r}}_{i}(m{\tilde {T}})=\sum _{n}r_{i}(nT)g((m-nI){\tilde {T}})}
After
b
f
(
n
T
~
)
{\displaystyle bf(n{\tilde {T}})}
is upsampled and filtered, the beamformer output
b
f
(
m
T
~
)
{\displaystyle bf(m{\tilde {T}})}
becomes:
b
f
(
m
T
~
)
=
1
N
∑
i
=
0
N
−
1
w
i
∑
p
r
i
(
p
T
)
g
(
(
m
−
p
I
−
n
i
)
T
~
)
{\displaystyle 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:
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.
The discrete-time frequency-domain beamformer is given by
f
d
(
n
T
,
ω
)
=
1
N
∑
i
=
0
N
−
1
w
i
R
i
(
n
T
,
ω
)
e
j
ω
(
n
−
τ
i
)
{\displaystyle 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
τ
i
=
−
M
q
N
l
i
{\displaystyle {\boldsymbol {\tau }}_{i}=-{\frac {Mq}{Nl}}i}
. The discrete short-time Fourier transform of
r
i
(
n
T
)
{\displaystyle r_{i}(nT)}
is denoted by
R
i
(
n
T
,
ω
)
{\displaystyle 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
{\displaystyle T=1}
moving forward. An effective method exists by considering a 1-D FFT for many values of
ω
{\displaystyle \omega }
. If
ω
=
2
π
l
M
{\displaystyle \omega ={\frac {2\pi l}{M}}}
for
0
≤
l
<
M
{\displaystyle 0\leq l
then
R
i
(
n
,
ω
)
e
j
ω
(
n
−
τ
i
)
{\displaystyle R_{i}(n,\omega )e^{j\omega (n-{\boldsymbol {\tau }}_{i})}}
becomes:
R
i
(
n
,
2
π
l
M
)
e
j
2
π
l
M
n
=
∑
p
=
0
M
−
1
r
i
(
n
−
p
)
v
(
p
)
e
j
2
π
l
M
p
{\displaystyle 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
{\displaystyle p=n-m}
. Substituting the 1-D FFT into the frequency-domain beamformer:
f
d
(
n
,
2
π
l
M
)
=
[
1
N
∑
i
=
0
N
−
1
w
i
R
i
(
n
,
2
π
l
M
e
j
2
π
q
N
i
)
]
e
j
2
π
l
M
n
{\displaystyle 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
f
d
(
n
,
2
π
l
M
)
=
1
N
∑
i
=
0
N
−
1
∑
p
=
0
M
−
1
w
i
v
(
p
)
r
i
(
n
−
p
)
e
j
2
π
l
M
p
+
j
2
π
q
N
i
{\displaystyle 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
)
{\displaystyle x_{n}(p,i)=w_{i}v(p)r_{i}(n-p)}
and
X
n
(
l
,
q
)
{\displaystyle X_{n}(l,q)}
is the (M X N)-point DFT of
x
n
(
p
,
i
)
{\displaystyle x_{n}(p,i)}
then
f
d
(
n
,
2
π
l
M
)
=
1
N
X
n
(
M
−
l
,
N
−
q
)
{\displaystyle 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:
α
0
x
=
M
q
N
l
D
{\displaystyle \alpha _{0x}={\frac {Mq}{NlD}}}
where:
M
{\displaystyle M}
and
N
{\displaystyle N}
are dimensions of the DFT
D
{\displaystyle D}
is the sensor separation
l
{\displaystyle l}
is the frequency index between
0
{\displaystyle 0}
and
M
−
1
{\displaystyle M-1}
q
{\displaystyle q}
is the steering index between
0
{\displaystyle 0}
and
N
−
1
{\displaystyle N-1}
l
{\displaystyle l}
and
q
{\displaystyle q}
can be selected to "steer the beam" towards a certain temporal frequency and spatial position
References
Kata Kunci Pencarian:
- Discrete-time beamforming
- Discrete cosine transform
- Sonar signal processing
- Space-time adaptive processing
- Array processing
- Window function
- MIMO-OFDM
- Echo sounding
- Passive radar
- Radar engineering