METHODS AND APPARATUSES FOR VERSATILE BEAMFORMING
20170250468 · 2017-08-31
Inventors
Cpc classification
H04B7/043
ELECTRICITY
International classification
Abstract
The present invention is directed to methods and apparatuses for beamforming signals or compute beamformed signals. The present approach is to determine a series of beams from or for a set of devices configured for receiving signals from and/or transmitting signals to one or more regions of interest in an n-dimensional space, with n=2 or 3. Each of the devices has a known position p.sub.i within said n-dimensional space. Signals are to be respectively transmitted or received non-uniformly in this space, i.e., according to the particular regions of interest. During a first phase, operations are performed in order to successively obtain a spatial filter function {circumflex over (ω)}(r), a beamforming function ω(p), and beamforming weights ω(p.sub.1). The spatial filter function {circumflex over (ω)}(r) matches projections of the regions of interest onto an n−1-dimensional sphere centered on said set of devices. The function {circumflex over (ω)}(r), however, extends over the n-dimensional space and does not restrict to the n−1-dimensional sphere. During a second phase, delays and gains are suitably introduced in the signals, by weighting time-series according to beamforming weights ω(p.sub.i) obtained during the first phase.
Claims
1. A method for computing a beamformed signal from a set of receivers {A.sub.i}.sub.i=1, . . . , L, the set of receivers configured for receiving signals from one or more regions {R.sub.m}.sub.m=1, . . . , M of interest in an n-dimensional space, with n=2 or 3, each of the receivers having a known position p.sub.i within said n-dimensional space, the method comprising: determining a n-dimensional spatial filter function {circumflex over (ω)}(r), which matches projections {P.sub.m}.sub.m=1, . . . , M of the one or more regions {R.sub.m}.sub.m=1, . . . , M of interest onto an n−1-dimensional sphere centered on said set of receivers; obtaining a beamforming function ω(p), based on an inverse Fourier transform of the determined spatial filter function; for each of the receivers {A.sub.i}.sub.i=1, . . . , L, determining a beamforming weight ω(p.sub.i), by evaluating the obtained beamforming function ω(p) at a known position p.sub.i of said each of the receivers {A.sub.i}.sub.i=1, . . . , L; and computing the beamformed signal, based on a summation of time-series received by the receivers {A.sub.i}.sub.i=1, . . . , L of the set, wherein each of the time series in the summation corresponds to a distinct one A.sub.i of the receivers and is weighted by a beamforming weight ω(p.sub.i) as determined for said distinct one A.sub.i of the receivers.
2. A method according to claim 1, wherein, at determining the spatial filter function, the spatial filter function {circumflex over (ω)}(r) is determined as a function having a defined, analytical Fourier transform; and at obtaining the beamforming function, the beamforming function ω(p) is obtained based on said analytical Fourier transform.
3. A method according to claim 2, wherein: at determining the spatial filter function, the spatial filter function {circumflex over (ω)}(r) is determined as a sum of functions having, each, a defined, analytical Fourier transform; and at obtaining the beamforming function, the beamforming function is obtained based on a sum of analytical Fourier transforms corresponding, each, to one of the functions of said sum of functions.
4. A method according to claim 3, wherein the spatial filter function {circumflex over (ω)}(r) is determined as a sum of Gaussian functions.
5. A method according to claim 2, wherein: at determining the spatial filter function, the spatial filter function {circumflex over (ω)}(r) is determined as a ball indicator function.
6. A method according to claim 1, wherein the method further comprises, prior to determining the spatial filter function: accessing a preference function, which identifies said one or more regions {R.sub.m}.sub.m=1, . . . , M of interest in the n-dimensional space.
7. A method according to claim 6, wherein determining the spatial filter function {circumflex over (ω)}(r) further comprises: projecting said one or more regions of interest onto said n−1-dimensional sphere to obtain said projections {P.sub.m}.sub.m=1, . . . , M; and determining an angular filter function {circumflex over (ω)}.sub.a(r), defined on said n−1-dimensional sphere, based on the obtained projections {P.sub.m}.sub.m=1, . . . , M, and wherein, said spatial filter function {circumflex over (ω)}(r) is determined based on the determined angular filter function {circumflex over (ω)}.sub.a(r).
8. A method according to claim 7, wherein, at determining said spatial filter function {circumflex over (ω)}(r), said spatial filter function {circumflex over (ω)}(r) is determined so as to exhibit, on the n−1-dimensional sphere, maxima that respectively match maxima of the projections {P.sub.m}.sub.m=1, . . . , M.
9. A method according to claim 8, wherein, at determining said spatial filter function {circumflex over (ω)}(r), the spatial filter function {circumflex over (ω)}(r) is constrained to take, on the n−1-dimensional sphere, the same values as the determined angular filter function {circumflex over (ω)}.sub.a(r).
10. A method according to claim 8, wherein said spatial filter function {circumflex over (ω)}(r) is defined for any r in the n-dimensional space, and is square-integrable over the n-dimensional space.
11. A method according to claim 10, wherein said spatial filter function {circumflex over (ω)}(r) is a continuous, positive function, for any r in the n-dimensional space.
12. A method according to claim 1, further comprising, after having determined a beamforming weight ω(p.sub.i) for each of the receivers {A.sub.i}.sub.i=1, . . . , L, normalizing each determined beamforming weight ω(p.sub.i) according to a norm of the beamforming weights for all of the receivers {A.sub.i}.sub.i=1, . . . , L.
13. A method for beamforming a signal for a set of transmitters {A.sub.i}.sub.i=1, . . . , L, the set of transmitters configured for transmitting signals to one or more regions {R.sub.m}.sub.m=1, . . . , M of interest in an n-dimensional space, with n=2 or 3, each of the transmitters having a known position p.sub.i within said n-dimensional space, the method comprising: determining a n-dimensional spatial filter function {circumflex over (ω)}(r), which matches projections {P.sub.m}.sub.m=1, . . . , M of the one or more regions {R.sub.m}.sub.m=1, . . . , M of interest onto an n−1-dimensional sphere centered on said set of transmitters; obtaining a beamforming function ω(p), based on an inverse Fourier transform of the determined spatial filter function; for each of the transmitters {A.sub.i}.sub.i=1, . . . , L, determining a beamforming weight ω(p.sub.i), by evaluating the obtained beamforming function ω(p) at a known position p.sub.i of said each of the transmitters {A.sub.i}.sub.i=1, . . . , L; and beamforming a signal, by weighting time-series to be transmitted by the transmitters {A.sub.i}.sub.i=1, . . . , L of the set by respective beamforming weights ω(p.sub.i) as determined for each of the transmitters.
14. A method according to claim 13, wherein, at determining the spatial filter function, the spatial filter function {circumflex over (ω)}(r) is determined as a function having a defined, analytical Fourier transform; and at obtaining the beamforming function, the beamforming function ω(p) is obtained based on said analytical Fourier transform.
15. A method according to claim 13, wherein the method further comprises, prior to determining the spatial filter function: accessing a preference function, which identifies said one or more regions {R.sub.m}.sub.m=1, . . . , M of interest in the n-dimensional space.
16. A method according to claim 15, wherein determining the spatial filter function {circumflex over (ω)}(r) further comprises: projecting said one or more regions of interest onto said n−1-dimensional sphere to obtain said projections {P.sub.m}.sub.m=1, . . . , M; and determining an angular filter function {circumflex over (ω)}.sub.a(r), defined on said n−1-dimensional sphere, based on the obtained projections {P.sub.m}.sub.m=1, . . . , M, and wherein, said spatial filter function {circumflex over (ω)}(r) is determined based on the determined angular filter function {circumflex over (ω)}.sub.a(r).
17. A method according to claim 16, wherein said spatial filter function {circumflex over (ω)}(r) is determined so as to have, on the n−1-dimensional sphere, maxima that respectively match maxima of the projections {P.sub.m}.sub.m=1, . . . , M.
18. A method according to claim 13, further comprising, after having determined a beamforming weight ω(p.sub.i) for each of the transmitters {A.sub.i}.sub.i=1, . . . , L, normalizing each determined beamforming weight ω(p.sub.i) according to a norm of the beamforming weights for all of the transmitters {A.sub.i}.sub.i=1, . . . , L.
19. A method for determining a series of beams from or for a set of transceivers {A.sub.i}.sub.i=1, . . . , L, said set of transceivers configured for receiving signals from and transmitting signals to one or more regions {R.sub.m}.sub.m=1, . . . , M of interest in an n-dimensional space, with n=2 or 3, each of the transceivers having a known position p.sub.i within said n-dimensional space, the method comprising: determining a n-dimensional spatial filter function {circumflex over (ω)}(r), which matches projections {P.sub.m}.sub.m=1, . . . , M of the one or more regions {R.sub.m}.sub.m=1, . . . , M onto an n−1-dimensional sphere centered on said set of transceivers; obtaining a beamforming function ω(p), based on a Fourier transform of the determined spatial filter function; for each of the transceivers {A.sub.i}.sub.i=1, . . . , L, determining a beamforming weight ω(p.sub.i), by evaluating the obtained beamforming function ω(p) at a known position p.sub.i of said each of the transceivers {A.sub.i}.sub.i=1, . . . , L; computing a series of beams, based on a summation of time-series received from the transceivers {A.sub.i}.sub.i=1, . . . , L of the set, wherein each of the time series in the summation received by a distinct one A.sub.i of the transceivers is weighted by a beamforming weight ω(p.sub.i) as determined for said distinct one A.sub.i of the transceivers; and beamforming a signal, by weighting time-series to be transmitted by the transceivers {A.sub.i}.sub.i=1, . . . , L of the set, by respective beamforming weights ω(p.sub.i) as determined for each of the transceivers.
20. A receiving apparatus comprising a set of receivers {A.sub.i}.sub.i=1, . . . , L and configured for computing a beamformed signal from said set of receivers, the set of receivers configured for receiving signals from one or more regions {R.sub.m}.sub.m=1, . . . , M of interest in an n-dimensional space, with n=2 or 3, each of the receivers having a known position p.sub.i within said n-dimensional space, the apparatus comprising: a spatial filter determination module, configured for determining a n-dimensional spatial filter function {circumflex over (ω)}(r), which matches projections {P.sub.m}.sub.m=1, . . . , M of the one or more regions {R.sub.m}.sub.m=1, . . . , M of interest onto an n−1-dimensional sphere centered on said set of receivers; a beamforming function determination module, configured for obtaining a beamforming function ω(p), based on an inverse Fourier transform of a spatial filter function determined by the spatial filter determination module; a beamforming weight determination module, configured for determining, for each of the receivers {A.sub.i}.sub.i=1, . . . , L, a beamforming weight ω(p.sub.i), by evaluating a beamforming function ω(p), as obtained from the beamforming function determination module, at a known position p.sub.i of said each of the receivers {A.sub.i}.sub.i=1, . . . , L; and a digital beamforming module, configured for computing a beamformed signal, based on a summation of time-series received by the receivers {A.sub.i}.sub.i=1, . . . , L of the set, wherein each of the time series in the summation corresponds to a distinct one A.sub.i of the receivers and is weighted by a beamforming weight ω(p.sub.i) as determined for said distinct one A.sub.i of the receivers.
21. A transmission apparatus comprising a set of receivers {A.sub.i}.sub.i=1, . . . , L and configured for beamforming a signal for said set of transmitters {A.sub.i}.sub.i=1, . . . , L, the set of transmitters configured for transmitting signals to one or more regions {R.sub.m}.sub.m=1, . . . , M of interest in an n-dimensional space, with n=2 or 3, each of the receivers having a known position p.sub.i within said n-dimensional space, the apparatus comprising: a spatial filter determination module, configured for determining a n-dimensional spatial filter function {circumflex over (ω)}(r), which matches projections of the one or more regions {R.sub.m}.sub.m=1, . . . , M of interest onto an n−1-dimensional sphere centered on said set of transmitters; a beamforming function determination module, configured for obtaining a beamforming function ω(p), based on an inverse Fourier transform of a spatial filter function as determined by the spatial filter determination module; a beamforming weight determination module, configured for determining, for each of the receivers {A.sub.i}.sub.i=1, . . . , L, a beamforming weight ω(p.sub.i), by evaluating a beamforming function ω(p), as obtained from the beamforming function determination module, at a known position p.sub.i of said each of the receivers {A.sub.i}.sub.i=1, . . . , L; and an analog beamforming module, configured for beamforming a signal, by weighting time-series to be transmitted by the transmitters {A.sub.i}.sub.i=1, . . . , L of the set, by respective beamforming weights ω(p.sub.i) as determined for each of the transmitters by said beamforming weight determination module.
22. A mobile telecommunication network, comprising the transmission apparatus according to claim 21.
23. A transceiver apparatus comprising a set of receivers {A.sub.i}.sub.i=1, . . . , L and configured for determining a series of beams from or for said set of transceivers {A.sub.i}=.sub.i=1, . . . , L, said set of transceivers configured for receiving signals from and transmitting signals to one or more regions {R.sub.m}.sub.m=1, . . . , M of interest in an n-dimensional space, with n=2 or 3, each of the receivers having a known position p.sub.i within said n-dimensional space, the method comprising: a spatial filter determination module, configured for determining a n-dimensional spatial filter function {circumflex over (ω)}(r), which matches projections of the one or more regions {R.sub.m}.sub.m=1, . . . , M of interest onto an n−1-dimensional sphere centered on said set of receivers; a beamforming function determination module, configured for obtaining a beamforming function ω(p), based on an inverse Fourier transform of a spatial filter function determined by the spatial filter determination module; a beamforming weight determination module, configured for determining, for each of the receivers {A.sub.i}.sub.i=1, . . . , L, a beamforming weight ω(p.sub.i), by evaluating a beamforming function ω(p), as obtained from the beamforming function determination module, at a known position p.sub.i of said each of the receivers {A.sub.i}.sub.i=1, . . . , L; and a digital beamforming module, configured for determining a beamformed signal, based on a summation of time-series received by the receivers {A.sub.i}.sub.i=1, . . . , L of the set, wherein each of the time series in the summation corresponds to a distinct one A.sub.i of the receivers and is weighted by a beamforming weight ω(p.sub.i) as determined for said distinct one A.sub.i of the receivers; and an analog beamforming module, configured for beamforming a signal, by weighting time-series to be transmitted by the transmitters {A.sub.i}.sub.i=1, . . . , L of the set, by respective beamforming weights ω(p.sub.i) as determined for each of the transmitters by said beamforming weight determination module.
24. A transceiver apparatus according to claim 23, wherein the apparatus is one of: a wireless access point; and an ultrasonic sensing system.
25. A computer program product for determining a series of beams from or for a set of devices {A.sub.i}.sub.i=1, . . . , L configured for receiving signals from and/or transmitting signals to one or more regions {R.sub.m}.sub.m=1, . . . , M of interest in an n-dimensional space, with n=2 or 3, each of the devices having a known position p.sub.i within said n-dimensional space, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions being executable by a computerized system to cause the latter to: determine a n-dimensional spatial filter function {circumflex over (ω)}(r), which matches projections of the one or more regions {R.sub.m}.sub.m=1, . . . , M onto an n−1-dimensional sphere centered on said set of devices; obtain a beamforming function ω(p), based on a Fourier transform of the determined spatial filter function; for each of the devices {A.sub.i}.sub.i=1, . . . , L, determine a beamforming weight ω(p.sub.i), by evaluating the obtained beamforming function {circumflex over (ω)}(p) at a known position p.sub.i of said each of the devices {A.sub.i}.sub.i=1, . . . , L; and weight time-series from or for the devices {A.sub.i}.sub.i=1, . . . , L of the set, wherein each of the time series from or for a distinct one A.sub.i of the devices is weighted by a beamforming weight ω(p.sub.i) as determined for said distinct one A.sub.i of the devices.
Description
BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
[0055]
[0056]
[0057] In
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076] The accompanying drawings show simplified representations of computerized systems and systems, or parts thereof, as involved in embodiments. Similar or functionally similar elements in the figures have been allocated the same numeral references, unless otherwise indicated. Density plots represented in the figures have been purposely applied a high contrast and, in some cases, the colors have been inverted, for the sake of depiction.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
[0077] The trend in all the applications discussed in the background section is to use an ever increasing number of antennas. While the terminology varies from application to application (for example, conjugate matched beamforming in radio astronomy), all techniques essentially rely on a same focused beamforming technique, despite slight variations.
[0078] As present inventors have realized, attempting such a focus has many disadvantages. First, focusing on a single point is impossible for a finite number of antennas. So, whether desired or not, information is received from a direction of focus and its close neighborhood, for which one has a fairly good knowledge about the incoming signal. However, the information captured decays quickly away from this direction, and is corrupted by signal information originating from undesired directions, amplified by numerous side-lobes. Second, in practice, the direction of interest is often estimated (not known), and there is an inherent lack of error tolerance. Third, concentrating on a single point requires constant updating to account for potential movement of the actual targets (people, devices, transport, etc.). For example, for beamforming in 802.11ac Wifi, a single device is required to communicate with the router every tenth of a second to guarantee good focusing (and hence good bandwidth). For MU-MIMO (beamforming to multiple users at the same time), required communication is on the order of 100th of a second for X number of users. As Inventors concluded, this could be dramatically reduced by using beams that target regions rather than a single direction. This, in turn, allows target devices to be captured for a longer period of time and, consequently, the refresh rate may be reduced, as contemplated, in embodiments.
[0079] Now, and as inventors realized, in practice there often are regions or areas of interest, rather than a collection of (moving) single points. Therefore, they have devised a solution, which, in embodiments, overcomes some or all of these problems, by allowing a beamforming to approximate a target spatial filter.
[0080] The present approach, by explicitly targeting designed areas of interest, provides numerous advantages. Aiming for areas rather than points minimizes the required update rate and reduces the requirement for communication. Groups of devices can be targeted at once. Also, embodiments are discussed herein, which allow side-lobes in the resulting beamshapes to be substantially reduced. Power requirements can accordingly be reduced. In a MIMO system, the normal optimization tradeoff between (focused) beamforming and spatial diversity (multiple replicas of the radio signal from different directions) can be circumvented, by incorporating aspects of the present invention.
[0081] Embodiments described below relate to communication and sensing with arrays of antennas, which can be used in applications such as Wifi, mobile phone networks, ultrasound and radio astronomy.
[0082] This section describes the background information from a mathematical point of view.
[0083] Consider an array of L receiving antennas {A.sub.i}.sub.i=1, . . . , L. In general these have positions {p.sub.i}.sub.i=1, . . . , L, where {p.sub.1, . . . , p.sub.L}ε.sup.n, with n=2 or 3. When n=3 they lie in three dimensional space, and when n=2 they lie on a plane. That the space the sensors lie on is allowed to vary permits different embodiments of the invention, depending on the application at hand.
[0084] For simplicity and without limiting the scope of the invention, assume these antennas have unit gains and an omnidirectional field of view.
[0085] Beamforming is generally considered a signal processing technique to change the directionality of the array, by controlling the phase and amplitude of the signal at each antenna. In mathematical terms, a beamformed signal y(t) is formed from L antennas by linearly combining as follows:
where w.sub.i's are complex-valued beamforming coefficients and x.sub.i(t) is the complex-valued time-series observed at the i.sup.th antenna.
[0086] Under the non-limiting assumptions of far-field and narrowband, we can write x.sub.i(t) as an integral over a sphere or circle:
where the phase reference has been chosen at the center of the array (call it p.sub.0) and λ=ƒ.sub.0/c is the wavelength of the incoming signals and n.sub.i(t) is additive noise.
[0087] Plugging eq. (2) in eq. (1), yields:
y(t)=s(t,r)b*(r)dr+n.sub.b(t). (3)
[0088] The function b(r) writes as
and is called the beamshape or radiation pattern of the beamformed antenna array. It describes the sensitivity of the antenna array relative to various directions. When focusing the beamforming at a certain direction r.sub.0ε.sup.n−1, so as maximize the contribution of the signals coming from that particular direction, it is called matched beamforming or phase and delay beamforming (amongst others) depending on the field of application.
[0089] Another popular beamformer is the so-called Maximum Variance Directionless Response (MVDR), that maximizes the signal power from a given direction and suppresses as much as possible contributions from other directions. This beamformer usually offers better performances than matched beamforming in terms of directionality of the beam. However, it has the disadvantage of being data-dependent, and often time-dependent.
[0090] We now are in a position to describe mathematics underlying embodiments of the invention. Preferred embodiments of the invention relies on sampling a continuous function defined over the entire space .sup.n. Therefore, instead of a finite collection of antennas, consider a continuous field of antennas covering
.sup.n. Associate with this continuous field a sensoring function x(t, p), that describes the signal measured at position p. It is the continuous extension of eq. (2),
x(t,p)=s(t,r)e.sup.−j2π<r,p>dr+n(t,p),
where we have chosen, without loss of generality, λ=1. The function n(t, p) is the noise function. The beamforming weights to apply at each location pε.sup.n are given by the beamforming function, ω:
.sup.n.fwdarw.
. In this scenario, beamforming can be interpreted as taking the inner-product between the beamforming function ω(p) and the sensoring function x(t, p). The beamformed output is then given by
[0091] The function {circumflex over (ω)}(r) can be regarded as the continuous analog of the array beamshape. It re-weighs the signals coming from various directions differently, and hence defines a filter. It is linked to the beamforming function through
{circumflex over (ω)}.sub.a(r)=ω(p)e.sup.j2π
.sup.r,p
dp.
[0092] So far, {circumflex over (ω)}.sub.a(r) is only defined over the unit n−1-sphere .sup.n−1. We thus need to extend it so
.sup.n so as to obtain an extended filter function {circumflex over (ω)}(r), which can be taken as the n-dimensional Fourier transform of ω(p).
[0093] To that aim, let {circumflex over (ω)}:.sup.n.fwdarw.
be a function whose n-dimensional Fourier transform exists, and on the hypersphere
.sup.n−1, i.e., the n−1-sphere, is equal to {circumflex over (ω)}.sub.a(r), the angular filter we would ideally like to achieve. We will call the extended filter {circumflex over (ω)}(r) the spatial filter function (or extended spatial filter function, or simply extended filter).
[0094] Of course, the choice of extension is not unique, and a sensible choice depends on the specific application. In general though, {circumflex over (ω)}(r) will be designed so as to match projections of the regions of interest onto the unit hypersphere. From this extension, we can compute the beamforming function by
ω(p)={circumflex over (ω)}(r)e.sup.−j2π<r,p>dr. (5)
[0095] Next, weights for actual antennas may be calculated by sampling ω(p) at the position of the antennas and, preferably, by normalizing the resulting weights. For a given arbitrary array of antennas with positions {p.sub.1, . . . , p.sub.L}ε.sup.n, one can obtain the beamforming weights to be applied at each antennas by sampling the beamforming function ω(p) as
where β can be taken as
β=√{square root over (Σ.sub.i=1.sup.L|ω(p.sub.i)|.sup.2)}.
assuming a L2-normalization scheme, which in practice, satisfactorily avoids noise magnification. The beamshape obtained this way is then an aliased version of {circumflex over (ω)}(r), restricted to the hypersphere.
[0096] The more antennas there are, the denser the sampling will be, and the closer the result will be to producing the desired spatial filter.
[0097] Here embodiments are described, which aim at beamforming optimally an array of antennas in order to perform a digital spatial filtering of an incoming signal. Such embodiments are independent of the layout, nature and technical specifics of the considered collection of sensors. As such, it has a wide range of applications.
[0098] In embodiments where beamforming weights are computed analytically, we circumvent any numerical instability and the resulting beamshapes are always reliable in practice.
[0099] The beamshape designed according to embodiments can either be used for receiving or transmitting signals with the array of antennas. For simplicity, and without restricting the scope of the embodiments, we describe here the case of receiving antennas.
[0100] Here is a summary of basic steps as involved in embodiments (referring to .sup.n, which are defined in 2- or 3-dimensional space (n=2 or 3). [0102] Take S12-S14 as input a desired angular filter {circumflex over (ω)}.sub.a(r) defined over the relevant n−1-sphere, i.e., a circle (for 2-dimensional array, when n=2) or a sphere (for 3-dimensional array, when n=3). Such a spatial filter may for instance be obtained by projecting S13 the regions of interest onto the n−1-sphere. [0103] Extend S15 {circumflex over (ω)}.sub.a(r) to exist also over
.sup.n (either the plane or the 3-dimensional space), thereby obtaining {circumflex over (ω)}. [0104] Select a relevant, inverse Fourier transform of {circumflex over (ω)}, to obtain S16 the resultant beamforming function ω(p). [0105] Then, for each antenna position p.sub.i, compute S17 the weights w.sub.i=ω(p.sub.i)/β. [0106] Finally, for each time-instance t, compute S22 the beamformed output as the weighted sum of time-series received S20 at each antenna.
[0107] As discussed earlier, the regions of interest are preferably identified in a preference function S12. In this respect, the configuration of the regions of interest may be monitored S10, and the configuration be recalculated each time it is needed, S11-S17.
[0108] An example of a simple angular filter takes on the value 1 within specific portions of the n−1-sphere (corresponding to projected regions), and 0 outside. However, the angular filter {circumflex over (ω)}.sub.a(r) may typically be more sophisticated, depending on the format used for identifying the regions and the projection type. This will be further discussed in reference to
[0109] The above steps may need be somewhat modified, depending on the applications targeted (transmission, transmission-reception, etc.), as we shall see.
[0110] Computation of the beamforming function ω(p) requires the computation of the Fourier transform of the extended spatial filter function {circumflex over (ω)}(r). For an arbitrary angular filter {circumflex over (ω)}.sub.a(r), this computation needs to be carried out numerically. However, the angular filter {circumflex over (ω)}.sub.a(r) can be chosen so that the extended spatial filter function {circumflex over (ω)}(r) belongs to the class of functions for which an exact analytical expression is available for the computation of eq. (5). For example, any filter which admits an extension that can be expressed as a linear combination of ball indicator functions and/or multi-dimensional Gaussian functions will have this convenient property.
[0111] A Ball indicator function may be defined as follows: Let {circumflex over (ω)}(r) be an n-dimensional ball indicator function, defined as
where r.sub.0ε.sup.n−1 and B(r.sub.0, R) is the ball centered in r.sub.0 with radius R>0:
B(r.sub.0,R)={rε.sup.n|∥r−r.sub.0∥≦R}.
[0112] Then, we have:
where J.sub.n/2 is the n/2th Bessel function of the 1st kind.
[0113] A multi-dimensional Gaussian function will typically be used as follows. Let {circumflex over (ω)}(r) be the n-dimensional symmetric Gaussian function, with mean r.sub.0ε.sup.n−1 and standard deviation σ>0:
[0114] Then, we have:
[0115] In .sup.t by its polar coordinates r=(1, θ), we get an angular filter {circumflex over (ω)}.sub.a(θ) of the form
with θε[0, 360] in degrees. A possible extension {circumflex over (ω)}(r) of this function to .sup.2 is the ball indicator function
where
r.sub.0=(1,1)/√{square root over (2)}ε.sup.1,
R=√{square root over ((cos(Θ)−1).sup.2+sin(Θ).sup.2)}.
Θ=65−25,
where Θ is the diameter angle of the angular filter only one diameter angle being assumed in this example. This extended spatial filter function is indeed a good candidate, as we observe that its restriction to the unit circle is equal to the angular filter {circumflex over (ω)}.sub.a(r),
[0116] The density plot overlaid in
This amounts to approximate {circumflex over (ω)}(r) based on the sole samples that correspond to antennas' positions. As see in
[0117] In
[0118] Then, we fix Θ=40° and compute the beamshape for arrays with concentric circular layouts and various number of antennas (
[0119] From
[0120] We now describe an embodiment for the transmission and receipt of data using a Wifi router. To simplify, but without limiting the scope of the invention, we assume the router and all the devices broadcasting in the room lie on a plane, see
[0121] A Wifi router with multiple antennas is used for transmission. As input a preference function ƒ:.sup.3.fwdarw.
is accessed, which identify regions of interest. To that aim, any pattern described a desired irradiation may be used, e.g., a density map. In variants, the preference function accessed may already be in the form of an angular function. I.e., the preference function may be the angular filter {circumflex over (ω)}.sub.a(r) itself.
[0122] For example, function ƒ can indicate how each location in a living room should be irradiated by the router's signal based on user's preferences. In variants, the preference function may be automatically learned, using newer Wifi standards (802.11n, 802.11ac), whereby preferences (or average positions) may be automatically learned from instant locations of devices (either passively detected or with help of explicit status communication).
[0123] Consider for example a room as in
[0124] In embodiments, for a given preference function accessed, an optimal beamshape may be designed, which covers well the preferential areas, while compensating for signal attenuation when travelling in the area of interest.
[0125] In particular, preferred embodiments with a Wifi network involve the following steps, on transmitting (also referring to
[0131] As discussed below, preferred embodiments would approximate the preference function in terms of Gaussian functions, so as to enable analytical calculation of the beamforming function.
[0132] Note that present embodiments generally assume the devices to lie in the far field. Indeed, no beamforming would be necessary if the devices were in the near field. This assumption is believed to hold for all reasonable modes of operation. For example for a frequency of operation of ƒ.sub.0=2.4 GHz (as typical for Wifi signals), and for a single antenna of length L=15 cm, every device located at a distance from the antenna greater than d.sub.0=2L.sup.2/λ≈3.6 mm can be considered as lying in the far field.
[0133] Under the far field and narrowband assumptions, the model used in sect. 1 holds and we can write the signal received by an antenna at position pε.sup.2 by
x(t,p)=s(t,r){dot over (γ)}(r)e.sup.−2πj
.sup.r,p
dr,
where s(t, r) is the summation of all signals coming from direction r, and °γ:.sup.2.fwdarw.
is the radial attenuation function describing the average attenuation for each direction of arrival, and given by
[0134] To compensate for the attenuation and guarantee a good coverage of the areas defined by the user, the angular filter {circumflex over (ω)}.sub.a(r) can be chosen to be
[0135] In other words, the desired filter is the radial projection of the preference function ƒ, re-weighted to compensate for the attenuation of the signal along specified paths.
[0136] Referring back to the living room example of .sup.2 of the individual antennas {A.sub.1, . . . , A.sub.27} are restricted to
.sup.2 for simplicity and the center of the router is denoted by p.sub.0ε
.sup.2. In
[0137] An example radial filter {circumflex over (ω)}.sub.a(r) is presented in
where Φ1(x), defined as
is the standard Gaussian function and α.sub.i, μ.sub.i, σ.sub.i are the respective weight, mean and standard deviation of each Gaussian function. The maxima of {circumflex over (ω)}.sub.a(θ) typically correspond to maxima of the projections on the unit circle. More generally, all the parameters involved may be refined for {circumflex over (ω)}.sub.a(θ) to fit the projections. We can then compute the beamforming function ω(p) by taking the (well-defined) Fourier transform of {circumflex over (ω)}(r).
[0138] One method to extend {circumflex over (ω)}.sub.a(θ) to the plane is to make use of the function:
as plotted in
[0139] Then, the function is ω(p) is given by the 2D Fourier transform of eq. (7),
[0140] The beamshape (or radiation pattern) of the router is then given by
where L=27 is the number of antennas in the router and β is the normalization factor as defined earlier, i.e.,
to avoid noise magnification due to beamforming. Because the beamshape in eq. (8) is an aliased version of {circumflex over (ω)}(r), side-lobes in the radiation pattern result (see
[0141] We now describe embodiments for the beamforming using a collection of 3G/4G (or in the future 5G) transmitters. The goal is to determine what beamshape should be used at each transmitter. For a given transmitter of a set (as represented by quad crosses in
[0146] For example, one may wish to beamform so as to cover optimally a part of a city, based on a priori knowledge of the probable positions of clients. Suppose this part of the city had an approximate area of 0.08 km2, and dense pedestrian traffic. As illustration, we collected the positions of pedestrians in this area (black dots), and inferred a corresponding continuous density function (in grayscale), which reflects an average number of pedestrians at each location. This function is an example of preference function.
[0147] In the example of
[0148] For simplicity, let each of the transmitters have the same layout and a range of emission of approximately 100 m. Hence, each of the transmitters only see circular cuts of a 100 m radius of the density function. The problem to solve for each transmitter is then similar to that of sect. 3.1 and can be analogously solved.
[0149] The beamshapes obtained for each transmitter, as obtained according to the above procedure, can be plotted and compared to the angular filters (not shown). This led to the conclusion that most of the beamshapes approximate very well the associated angular filter. Once again, side lobes are present, due to the finite number of antennas composing the transmitters.
[0150] Finally, we sum the radiation patterns from every transmitters and overlay it over the map of
[0151] As outlined in the background section, ultrasound consists of transmit beamforming (beamforming to target the ultrasound output at a certain point) and receive beamforming (beamforming the resultant echoes). We thus describe two concurrent operations, one of the transmit and one of the receive type. The transmitted and received signals are linked in that case because the echoes are shaped by the transmit beamforming.
[0152] Ultrasound phased arrays are often 1D (with all transducers aligned on a single axis, as assumed in
[0153] The potential benefits of present embodiments for ultrasound include: [0154] Faster generation of images; [0155] More accurate images; [0156] Resolution can more carefully be adjusted; [0157] Easier design of systems for 3D imaging; [0158] More accurate videos (due to faster update potential); [0159] A lower number of transducers is necessary, enabling low-cost and portable devices.
[0160] The general (known) method for transmit beamforming consists of inducing delays (a delay law) between the pulses emitted by each of the transducers. The goal is to achieve a narrow focus a certain distance away for a desired angle. This is equivalent to performing a focused beamforming for a given angle each time. The echoes from the resultant beam are then received by each transducer. They are then combined by a weighted sum to produce a single image, using the receive beam. The final image can be obtained by scanning across many angles. In this mode of operation, the whole image is desired, and focused beamforming is just a means to obtain it. Each sweep has high SNR at the point of focus, and reduced SNR around it, with side-lobes also distorting the resultant image.
[0161] Present embodiments modifies this known method by allowing for variation in the delays and magnitudes at each transducer, thus inducing phase and magnitude changes in the resultant beamforming. Thus, preferred embodiments for transmit beamforming in ultrasound is: [0162] For a given pulse time instance, a desired probing spatial filter is given, S14. [0163] The beamforming function is then obtained as previously shown, S15-S16, and the phase delays and magnitude weighting at each transducer are determined by sampling S17 this function at the locations of the transducers.
[0164] The resulting beamforming pattern can then be applied S32-S34 at each transducer, by suitably weighting S32 time-series S30 meant for each transducer.
[0165] In preferred embodiments for receive beamforming in ultrasound: [0166] For a given pulse time instance, a desired probing spatial filter is given S14. This spatial filter may for instance be the same or related to the one used in transmit beam forming. [0167] The beamforming function is then be obtained S15-S16 as previously described and then a beamformed signal is digitally obtained S22 as a weighted sum of the signals received S20 from each transducer.
[0168] Modern radio telescope correlate the signals measured by thousands of antennas at various location on the ground, in order to infer an image of the sky. To reduce the amount of data sent to the central processor and increase the signal to noise ratio, the antennas are grouped together in stations and beamformed via matched beamforming. As we have seen previously, matched beamforming maximizes the power coming from one direction in the sky, but sees little about the rest of the sky. Hence, surveying large portions of the sky with matched beamforming requires multiple observations, where matched beamforming is steered towards various locations on the sky in order to cover a whole portion of interest. This is suboptimal and time consuming, and one would benefit much more from a beamshape which could capture the power of the signals coming from a wider range of directions.
[0169] Thus, a preferred embodiment in radio astronomy for a given collection of antennas, is: [0170] A desired spatial filter is given S14 on a unit sphere. [0171] This desired spatial filter is extended S15 to the 3D space. [0172] The subsequent beamforming function is obtained S16. [0173] The beamforming function is sampled S17 at the locations of each antenna to obtain the weights. [0174] These weights are then applied S22 to beamform at each time-instance S20.
[0175] Computerized systems and devices can be suitably designed for implementing embodiments of the present invention as described herein. In that respect, it can be appreciated that the methods described herein are largely non-interactive and automated. In exemplary embodiments, the methods described herein can be implemented either in an interactive, partly-interactive or non-interactive system. The methods described herein can be implemented in software (e.g., firmware), hardware, or a combination thereof. In exemplary embodiments, the methods described herein are implemented in software, as an executable program, the latter executed by suitable digital processing devices. More generally, embodiments of the present invention can be implemented wherein general-purpose digital computers, such as personal computers, workstations, etc., are used.
[0176] For instance, the system 100 depicted in
[0177] In exemplary embodiments, in terms of hardware architecture, as shown in
[0178] The processor 105 is a hardware device for executing software, particularly that stored in memory 110. The processor 105 can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the computer 101, a semiconductor based microprocessor (in the form of a microchip or chip set), or generally any device for executing software instructions.
[0179] The memory 110 can include any one or combination of volatile memory elements (e.g., random access memory) and nonvolatile memory elements. Moreover, the memory 110 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 110 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 105.
[0180] The software in memory 110 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. In the example of
[0181] The methods described herein may be in the form of a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When in a source program form, then the program needs to be translated via a compiler, assembler, interpreter, or the like, as known per se, which may or may not be included within the memory 110, so as to operate properly in connection with the OS 111. Furthermore, the methods can be written as an object oriented programming language, which has classes of data and methods, or a procedure programming language, which has routines, subroutines, and/or functions.
[0182] Possibly, a conventional keyboard and mouse can be coupled to the input/output controller 135. Other I/O devices 140-155 may include or be connected to other hardware devices 10, as noted earlier.
[0183] In addition, the I/O devices 140-155 may further include or be connected to devices 10 that communicate both inputs and outputs. The system 100 can further include a display controller 125 coupled to a display 130. In exemplary embodiments, the system 100 can further include a network interface or transceiver 160 for coupling to a network 165, to enable, in turn, data communication to/from other, external components.
[0184] The network 165 transmits and receives data between the unit 101 and external systems. The network 165 is possibly implemented in a wireless fashion, e.g., using wireless protocols and technologies, such as Wifi, WiMax, etc. The network 165 may be a fixed wireless network, a wireless local area network (LAN), a wireless wide area network (WAN) a personal area network (PAN), a virtual private network (VPN), intranet or other suitable network system and includes equipment for receiving and transmitting signals.
[0185] The network 165 can also be an IP-based network for communication between the unit 101 and any external server, client and the like via a broadband connection. In exemplary embodiments, network 165 can be a managed IP network administered by a service provider. Besides, the network 165 can be a packet-switched network such as a LAN, WAN, Internet network, etc.
[0186] If the unit 101 is a PC, workstation, intelligent device or the like, the software in the memory 110 may further include a basic input output system (BIOS). The BIOS is stored in ROM so that the BIOS can be executed when the computer 101 is activated.
[0187] When the unit 101 is in operation, the processor 105 is configured to execute software stored within the memory 110, to communicate data to and from the memory 110, and to generally control operations of the computer 101 pursuant to the software. The methods described herein and the OS 111, in whole or in part are read by the processor 105, typically buffered within the processor 105, and then executed. When the methods described herein are implemented in software, the methods can be stored on any computer readable medium, such as storage 120, for use by or in connection with any computer related system or method.
[0188] The present invention may be an apparatus, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
[0189] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
[0190] Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
[0191] Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the C programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
[0192] Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
[0193] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
[0194] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0195] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
[0196] While the present invention has been described with reference to a limited number of embodiments, variants and the accompanying drawings, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In particular, a feature (device-like or method-like) recited in a given embodiment, variant or shown in a drawing may be combined with or replace another feature in another embodiment, variant or drawing, without departing from the scope of the present invention. Various combinations of the features described in respect of any of the above embodiments or variants may accordingly be contemplated, that remain within the scope of the appended claims. In addition, many minor modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims. In addition, many other variants than explicitly touched above can be contemplated. For example, other applications than those explicitly mentioned may benefit from beamforming methods as described herein.