Aspects of embodiments of the present disclosure relate to systems and methods for updating beamforming codebooks for angle-of-arrival estimation using compressive sensing in wireless communications.
In beamforming wireless communication systems, transmitters may control or steer the emission direction of electromagnetic waves and may shape or form these electromagnetic waves into relatively narrow beams. These beams may be formed using arrays of antennas, where different antennas of the array are supplied with time-shifted or phase-shifted versions of a signal, and combinations of constructive interference and destructive interference cause the signal to be concentrated in particular directions. Beamforming enables spatial diversity in the electromagnetic waves (e.g., in contrast to substantially omnidirectional transmission), and also allows the beam to be steered as the relative direction to the receiver changes over time. For example, beamforming allows more communication channels to be operated concurrently—for example, receivers located in different directions with respect to the transmitter can receive different signals from the same transceiver at the same carrier frequency or overlapping frequency bands. Beamforming may be particularly applicable in millimeter wave (mmWave) communications and in massive multiple input multiple output (MIMO) systems.
In hybrid beamforming systems, beam sweeping may be performed periodically to combat the poor link budget by determining the best transmission direction or vector between the transmitter and the receiver, where the best transmission vector is selected from a beamforming codebook or beam codebook. A beamforming codebook includes weights for decoding received directional electromagnetic signals (e.g., wireless signals or radio signals), where different weights correspond to different possible beamforming vectors (e.g., electromagnetic signals received from different directions).
A hybrid beamforming system decodes a directional electromagnetic signal received at the antenna array by combining the received signal with the weights of the beamforming codebook and selecting a dominant direction (e.g., a combination of weights and the signal that has the highest power or signal-to-noise ratio). The performance of beamforming wireless transmission systems depends on the quality of the beamforming codebook, such as how closely the directions of the codebook (at least one of the direction) align with the actual direction at which the electromagnetic signal arrives at the receiver antenna array.
Aspects of embodiments of the present disclosure relate to systems and methods for updating a beamforming codebook in accordance with changes in transmission conditions using compressive sensing techniques and based on the history of angle-of-arrival directions with respect to a given transmitter.
According to one embodiment of the present disclosure, a method of updating a beamforming codebook includes: receiving, at an antenna array of a wireless communication device during a previous period, a first directional electromagnetic signal including beam sweeping reference symbols of a previous beam sweeping period; computing, by a processing circuit of the wireless communication device, an estimated combined channel based on the received first directional electromagnetic signal; estimating, by the processing circuit, a dominant angle-of-arrival (AoA) of the first directional electromagnetic signal based on the estimated combined channel and a previous beamforming codebook including two or more beamforming vectors corresponding to different angles-of-arrival; and computing, by the processing circuit, one or more remaining angles-of-arrival spaced apart from the estimated dominant angle-of-arrival; constructing, by the processing circuit, an updated beamforming codebook based on the estimated dominant angle-of-arrival and the one or more remaining angles-of-arrival; receiving, at the antenna array during a current period, a second directional electromagnetic signal including data symbols; determining a beamforming vector for data reception of the second directional electromagnetic signal based on the updated beamforming codebook; and detecting, by the processing circuit, the data symbols in the second directional electromagnetic signal based on the determined beamforming vector.
The updated beamforming codebook may consist of two beamforming vectors, wherein the estimating the dominant AoA {tilde over (x)}1 of the first directional electromagnetic signal includes computing:
where Y is the estimated combined channel, and ĥ1 and ĥ2 are estimated analog channels corresponding to two antenna elements of the antenna array, wherein the one or more remaining angles-of-arrival consists of one beamforming vector, wherein the antenna array has an even number of antenna elements, and wherein the remaining angle-of-arrival {tilde over (x)}2 is computed in accordance with {tilde over (x)}={tilde over (x)}1+π, and wherein the updated beamforming codebook Wt is computed in accordance with
The updated beamforming codebook may include three or more beamforming vectors.
The estimating the dominant AoA {tilde over (x)}1 of the first directional electromagnetic signal may include computing:
where Y is the estimated combined channel, and (b*) is a set of angles in a neighborhood around a selected search angle b*.
The selected search angle b* may be selected in accordance with:
where
The selected search angle b* may be selected in accordance with an estimated dominant angle-of-arrival of a third directional electromagnetic signal received in a previous beam sweeping period.
The set of angles in the neighborhood (b*) around the selected search angle b* may be computed by:
(b*)={x:x=b*+Δl, l=−N, . . . 0, . . . N}
where N controls a number of angles in (b*) to 2N+1 and where Δ is an angular resolution of the angles in N(b*).
A number of antenna elements NR in the antenna array may be an integer multiple of a number of beamforming vectors M in the updated beamforming codebook, and the one or more remaining angles-of-arrival {tilde over (x)}i may be computed in accordance with:
where {tilde over (x)}1 is the estimated dominant angle-of-arrival of the first directional electromagnetic signal.
A number of antenna elements NR in the antenna array may be not an integer multiple of a number of beamforming vectors M in the updated beamforming codebook, and wherein the one or more remaining angles-of-arrival are selected from a constraint set of angles I({tilde over (x)}1), where
The determining the beamforming vector for data reception of the second directional electromagnetic signal may include selecting the beamforming vector for data reception from the updated beamforming codebook without performing channel estimation.
The determining the beamforming vector for data reception of the second directional electromagnetic signal may include explicitly calculating the beamforming vector based on a channel estimation on the second directional electromagnetic signal and based on the updated beamforming codebook.
According to one embodiment of the present disclosure, a wireless communication device is configured to update a beamforming codebook, the wireless communication device including: an antenna array; a processing circuit configured to receive signals from the antenna array and configured to: receive, at the antenna array during a previous period, a first directional electromagnetic signal including beam sweeping reference symbols of a previous beam sweeping period; compute an estimated combined channel based on the received first directional electromagnetic signal; estimate a dominant angle-of-arrival (AoA) of the first directional electromagnetic signal based on the estimated combined channel and a previous beamforming codebook including two or more beamforming vectors corresponding to different angles-of-arrival; compute one or more remaining angles-of-arrival spaced apart from the estimated dominant angle-of-arrival; construct an updated beamforming codebook based on the estimated dominant angle-of-arrival and the one or more remaining angles-of-arrival; receive, at the antenna array during a current period, a second directional electromagnetic signal including data symbols; determine a beamforming vector for data reception of the second directional electromagnetic signal based on the updated beamforming codebook; and detect, by the processing circuit, the data symbols in the second directional electromagnetic signal based on the determined beamforming vector.
The updated beamforming codebook may consist of two beamforming vectors, wherein the processing circuit is configured to estimate the dominant AoA {tilde over (x)}1 of the first directional electromagnetic signal by computing:
where Y is the estimated combined channel, and ĥ1 and ĥ2 are estimated analog channels corresponding to two antenna elements of the antenna array, wherein the one or more remaining angles-of-arrival consists of one beamforming vector, wherein the antenna array has an even number of antenna elements, and wherein the remaining angle-of-arrival {tilde over (x)}2 is computed in accordance with {tilde over (x)}2={tilde over (x)}1+π, and wherein the updated beamforming codebook Wt is computed in accordance with
The updated beamforming codebook may include three or more beamforming vectors.
The processing circuit may be configured to estimate the dominant AoA {tilde over (x)}1 of the first directional electromagnetic signal by computing:
where Y is the estimated combined channel, and (b*) is a set of angles in a neighborhood around a selected search angle b*.
The processing circuit may be configured to select the selected search angle b* in accordance with:
The processing circuit may be configured to select the selected search angle b* in accordance with an estimated dominant angle-of-arrival of a third directional electromagnetic signal received in a previous beam sweeping period.
The processing circuit may be configured to compute the set of angles in the neighborhood (b*) around the selected search angle b* by:
(b*)={x:x=b*+Δl, l=−N, . . . ,0, . . . N}
where N controls a number of angles in (b*) to 2N+1 and where Δ is an angular resolution of the angles in (b*).
A number of antenna elements NR in the antenna array may be an integer multiple of a number of beamforming vectors M in the updated beamforming codebook, and wherein the one or more remaining angles-of-arrival {tilde over (x)}i may be computed in accordance with:
where {tilde over (x)}1 is the estimated dominant angle-of-arrival of the first directional electromagnetic signal.
A number of antenna elements NR in the antenna array may be not an integer multiple of a number of beamforming vectors M in the updated beamforming codebook, and wherein the one or more remaining angles-of-arrival are selected from a constraint set of angles I({tilde over (x)}1), where
The processing circuit may be configured to determine the beamforming vector for data reception of the second directional electromagnetic signal by selecting the beamforming vector for data reception from the updated beamforming codebook without performing channel estimation.
The determining the beamforming vector for data reception of the second directional electromagnetic signal may include explicitly calculating the beamforming vector based on a channel estimation on the second directional electromagnetic signal and based on the updated beamforming codebook.
The accompanying drawings, together with the specification, illustrate exemplary embodiments of the present invention, and, together with the description, serve to explain the principles of the present invention.
In the following detailed description, only certain exemplary embodiments of the present invention are shown and described, by way of illustration. As those skilled in the art would recognize, the invention may be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein.
In hybrid beamforming wireless communication systems, a mobile station (MS) (also referred to as user equipment (UE)) or a base station (BS) periodically performs beam sweeping to combat poor link budgets in order to improve performance (e.g., signal-to-noise ratio). Aspects of embodiments of the present disclosure will be described in the context of beam sweeping at UE, which will be considered a receiver (Rx). However, embodiments of the present disclosure are not limited thereto, and may also be applied at the base station. When performing beam sweeping measurements, UE chooses different beamforming vectors from a beamforming codebook W, where the beamforming vectors are used to combine signals from different antennas (e.g., different antenna elements of an antenna array) attached to the UE. Based on the beam sweeping measurements, the UE determines a beamforming vector for data reception. Approaches for determining a beamforming vector include: selecting a beamforming vector for data reception from a pre-defined beamforming codebook without performing channel estimation; and calculating a beamforming vector for data reception explicitly based on channel estimation. In both of these approaches, the quality of the beamforming codebook W is an important factor in the quality of the determined beamforming vector. Accordingly, aspects of embodiments of the present disclosure relate to systems and methods for updating the beamforming codebook W based on beam sweeping measurements to improve system performance.
In the arrangement shown in
As shown in
The output of the channel estimator 16 is supplied to a detector 14 which uses the channel state information to perform symbol detection. The decoder 18 may be configured to receive the detected symbols from the detector 14 and to decode the detected symbols into data, such as a digital bitstream, to be supplied for consumption by applications in the radio transceiver 10, such as voice calls, data packets, and the like. In various embodiments of the present disclosure, the components of the radio transceiver 10, such as the filter 12, the detector 14, the channel estimator 16, the codebook updater 140, and the decoder 18 may be implemented in one or more processing circuits (e.g., a radio baseband processor (BP or BPP), a central processing unit (CPU), a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC)) of a digital radio, where various portions of various blocks may be implemented in the same circuit (e.g., on the same die or in a same package) or in different circuits (e.g., on different dies or in different packages, connected over a communication bus).
As noted above, in a hybrid beamforming system, a radio receiver or a radio transceiver may include an antenna array (e.g., antenna array 120) that is steerable to receive a directional signal from any direction over a range of possible steering angles. In some circumstances, the antenna array is electronically steered using, for example, phase shifts or time delays between antenna elements (or receive antennas) of the antenna array. The particular parameters corresponding to a given direction may be represented as a beamforming vector w. A beamforming codebook W may be include two or more different beamforming vectors w. For example, a codebook W having M different beamforming vectors may be denoted as:
where NR denotes the number of antenna elements (or receive antennas) per radio frequency (RF) chain, and assuming that NR>M.
An actual channel H at K different subcarriers may be denoted as:
H=[h1, . . . ,hK]∈N
A combined signal Z can be modeled as:
Z=W(HP+V) (3)
where P=diag(p1, . . . , pK) denotes beam sweeping reference symbols in the transmitted directional signal 30 during a current (t-th) beam sweeping period, and V∈N
Based on this model of the combined signal Z, the channel estimator 16 estimates a combined channel Hc=WH for a t-th beam sweeping period, where Yt∈M×K is denoted as an estimate of Hc during the t-th beam sweeping period, and where Yt is modeled as:
Y
t
=H
c
+N
t, where Hc=WtHt, (4)
where Wt∈M×N
After performing beam sweeping, the best beamforming vector can be selected among the swept beamforming vectors w to improve analog beamforming gain (e.g., improve the ability of the detector 14 to detect symbols in the received directional signal 30). In the example shown in
In the arrangement shown in
Accordingly, aspects of embodiments of the present disclosure relate to improving hybrid beamforming gain by computing an updated beamforming codebook Wt+1 for a next (t+1) beam sweeping period based on of the combined channel Yt∈M×K and based on the beamforming codebook Wt∈M×N
Referring to
Aspects of embodiments of the present disclosure relate to a compressive sensing (CS or compressed sensing) based approach for codebook update, under the assumption that the channel is sparse in the angular domain. As noted above, given θ as the angle of arrival (AoA) of the directional signal 30 and d as the antenna separation or antenna spacing of the antenna elements of a uniform linear array, the antenna response vector can be written as:
where λ denotes wavelength, T indicates a transpose operation, and without loss of generality, assuming that d=λ/2 and x=π cos θ. Denote
In some embodiments of the present disclosure, the initial beamforming codebook (e.g., when the system first starts up, before performing any updates to the beamforming codebook) is a uniform discrete Fourier transform (DFT) codebook. In some embodiments, the initial beamforming codebook is a partial identity codebook. In some embodiments, the initial beamforming codebook is the codebook given below:
W=[UM 0] (8)
for some unitary matrix UM. When UM is a full size DFT matrix, the codebook updater 140 can extract M angles from UM for estimating the dominant AoA, as described in more detail below.
In operation 410, the dominant AoA estimator 142 of the codebook updater 140 estimates the dominant AoA {tilde over (x)}1 based on the given estimated combined channel Y and the current beamforming codebook Wt.
After estimating the dominant AoA {tilde over (x)}1, in operation 450, the remaining AoA calculator 144 of the codebook updater 140 computes the remaining (M−1) AoAs ({tilde over (x)}2, . . . ,{tilde over ( )}M) for the updated codebook, and in operation 490 the codebook constructor 146 of the codebook updater 140 constructs the updated beamforming codebook Wt+1 based on the computed dominant AoA {tilde over (x)}1 and the remaining (M−1) AoAs ({tilde over (x)}2, . . . , {tilde over (x)}M).
The details of computing the dominant AoA {tilde over (x)}1 by the dominant AoA estimator 142 in operation 410 and the remaining M−1 AoAs ({tilde over (x)}2, . . . {tilde over (x)}M) by the remaining AoA calculator 144 in operation 450 will be described in more detail below with respect to two different conditions: a case where the beamforming codebook W includes exactly two beamforming vectors, M=2 (e.g., as illustrated in
In cases where the beamforming codebook W includes exactly two beamforming vectors (M=2) and the number of antenna elements NR in the receive antenna array 120 is even, if the beamforming codebook W can be written as:
for some constants Ci, then the dominant AoA estimator 142 estimates the dominant AoA {tilde over (x)}1 in operation 410 according to the closed form solution given below.
where ĥ1t and ĥ2t are the estimated analog channels corresponding to the first two antenna elements (e.g., two antenna elements of the antenna array).
In this embodiment, the only other AoA {tilde over (x)}2 (because M=2, and therefore M−1=1) is computed by the remaining AoA calculator 144 in operation 450 as pointing in the opposite direction from the dominant AoA in accordance with: {tilde over (x)}2={tilde over (x)}1+π.
Accordingly, in operation 490, the codebook constructor 146 constructs the updated beamforming codebook Wt+1 as
The updated beamforming codebook Wt+1 is a uniform discrete Fourier transform (DFT) codebook. If NR is even, then Wt+1 satisfies the conditions of Equations (9) and (10), above. Therefore, in the case where M=2, during each beam sweeping period, the closed form solution in accordance with equations (11), (12), and (13) can be used to derive the dominant AoA {tilde over (x)}1 and the remaining AoAs (the other AoA {tilde over (x)}2) of the updated beamforming codebook.
In cases where the beamforming codebook includes more than two beamforming vectors (M>2), aspects of embodiments of the present disclosure relate to reducing the complexity of searching for the dominant AoA in operation 410 by the dominant AoA estimator 142 by only searching among a particular set of angles.
Assuming that each beamforming vector w in the beamforming codebook W is a discrete Fourier transform (DFT) vector, corresponding to angles b1, . . . , bM, then the beamforming codebook W can be expressed as:
In other words, the dominant AoA estimator chooses a dominant AoA b* from among the angles b1, . . . , bM of current beamforming codebook Wt by selecting the angle that has the largest received signal power, e.g., that maximizes the expression:
Expressed as formula, the dominant AoA {tilde over (x)}1 of the channel is estimated according to:
where H indicates a conjugate transpose and where (b*) is a set of angles in a neighborhood around a selected search angle b*.
In some embodiments of the present disclosure, (b*) refers to N quantized values that are uniformly sampled between −π to π (e.g., the full range of possible values). This approach may be beneficial when there is no prior knowledge about the likely angle-of-arrival of the received directional signal 30.
In some embodiments, instead of searching among N quantized values uniformly sampled between −π to π, aspects of embodiments of the present disclosure relate to the dominant AoA estimator 142 computing the dominant AoA {tilde over (x)}1 from a neighborhood of potential angles sampled around a search angle b*, chosen from b1, . . . , bM, that results in the largest received signal power. According to some embodiments, in operation 412, the dominant AoA estimator 142 selects a search angle b* from b1, . . . , bM. In some embodiments, n1 is calculated in accordance with:
Given a selected search angle b*, according to some embodiments of the present disclosure, in operation 414, the dominant AoA estimator 142 then computes a set of possible search angles (b*) in the neighborhood of the selected search angle b* is given by:
In the above expression, nine possible search angles are computed with the angle resolution of π/8. However, embodiments of the present disclosure are not limited thereto and may include other numbers of sampling points, such as 17 points sampled with an angle resolution of π/16 or 13 points sampled with an angle resolution of π/12.
More generally, for dominant AoA estimation with M>2, given the selected angle b*, different choices of possible search angles (b*) in a neighborhood can be computed when estimating the dominant AoA {tilde over (x)}1. More specifically, according to the complexity affordable to the hardware constraints of the codebook updater 140 and the confidence level of selected angle b*, the dominant AoA estimator 142 can dynamically adjust the set of possible search angles (b*):
(b*)={x:x=b*+Δl, l=−N, . . . ,0, . . . N} (21)
by choosing appropriate values for angular resolution Δ and number of angles in the set 2N+1. For example, if complexity is not an issue (e.g., the codebook updater has sufficient processing capability to perform a computation within the allocated time window, e.g., before the next (t+1) beam sweeping period), the dominant AoA estimator 142 can use a large value of N and small value of Δ. If the confidence of the selected angle b* is high (e.g., high confidence that the selected angle bn
In operation 416, the dominant AoA estimator 142 then identifies the dominant AoA {tilde over (x)}1 from among the angles in neighborhood (b*) of selected search angle b* according to:
In other words, the dominant AoA estimator 142 computes correlation at a sampling of points (b*) (e.g., 9 points in the above expression) around selected search angle b* and selects the angle that has the maximum correlation as the estimated dominant AoA {tilde over (x)}1. In some embodiments, where each row in the beamforming codebook W is not a DFT vector, the correlation is calculated at a few AoAs and b* is selected based on the highest correlation AoA among those few AoAs.
Furthermore, in some embodiments of the present disclosure, if the dominant AoA {tilde over (x)}1 of the actual channel changes slowly between two beam sweeping periods (e.g., because the mobile station is relatively still or at rest), in t-th beam sweeping period, the selected search angle b* will be equal to or close to the estimated dominant AoA {tilde over (x)}1(t−1) from the previous beam sweeping period (t−1). Accordingly, in some embodiments of the present disclosure, for t>1, instead of calculating bt*, the dominant AoA {tilde over (x)}1(t−1) from the previous beam sweeping period is used in operation 412 as the selected search angle bt*) in whose neighborhood the dominant AoA is searched during the current beam sweeping period. However, for the first beam sweeping period (t=1), the dominant AoA estimator 142 may calculate the selected search angle b1* because there is no information available on the channel dominant AoA. (Note that the approximation discussed above works for any value of number of beamforming vectors M and number of receive antennas NR.)
In some embodiments of the present disclosure, the estimation of the dominant AoA {tilde over (x)}1 is further simplified for periods after the initial period (t>1). In particular, denoting:
then, in some embodiments, the dominant AoA {tilde over (x)}1t of the current beam sweeping period t is calculated in accordance with
In other words, in some embodiments of the present disclosure, the dominant AoA estimator 142 considers only the first two beam sweeping measurements y1t and y2t when estimating {tilde over (x)}1t. (However, when recovering the channel using the detector 14, all beam vectors in the current beamforming codebook Wt are considered.)
Referring back to
In embodiments where the number of antenna elements NR in the antenna array 120 is an integer multiple of the number of beamforming vectors M in the beamforming codebook W, the remaining AoA calculator calculates the remaining AoAs in operation 450 in accordance with:
In embodiments where the number of antenna elements NR in the antenna array 120 is not an integer multiple of the number of beamforming vectors M in the beamforming codebook W, the remaining AoA calculator calculates the remaining AoAs in operation 450 from a constraint set of angles I({tilde over (x)}1) spaced around the 360° or 2π range of possible AoAs, where:
In more detail, in some embodiments, the remaining AoAs are calculated from I({tilde over (x)}1) by an iterative process such as simultaneous orthogonal matching pursuit (SOMP).
In some embodiments, such as where the remaining AoA calculator 144 is computationally constrained (e.g., it may be impractical to use an iterative algorithm within the time and/or energy budget of the system), the remaining AoA calculator 144 chooses the remaining AoAs from I({tilde over (x)}1) in a manner that results in an orthogonal updated codebook W, as described in more detail below.
As one example, in the case where M=3, according to one embodiment, given an estimated dominant AoA {tilde over (x)}1, the selection of the remaining AoAs is performed by choosing:
In the case where M is not 3, the remaining AoAs may be selected arbitrarily from the set I({tilde over (x)}1) to form an orthogonal beamforming codebook.
According to another embodiment of the present disclosure, in a case that there is an even number of antenna elements NR in the receive antenna array 120, given an estimated dominant AoA {tilde over (x)}1, the arbitrary selection of remaining AoAs is performed by choosing:
In the case where M is not 3, the remaining AoAs may be selected arbitrarily from the set I({tilde over (x)}1) to form an orthogonal beamforming codebook.
Given the beamforming vectors or AoAs estimated by the dominant AoA estimator 142 and the remaining AoA calculator 144 as discussed above, the codebook constructor 146 constructs an updated beamforming codebook Wt+1 in accordance with:
As shown in
As shown in
In the embodiment shown in
Referring to
In operation 615, during a t-th data reception period, the radio transceiver may determine a beamforming vector wt for a directional electromagnetic data signal (or t-th data signal) received at the same antenna array (e.g., antenna array 120) based on the current beamforming codebook Wt computed in an earlier period (e.g., which was computed during the previous period or (t−1)-th period).
Approaches for determining the beamforming vector for the received directional electromagnetic data signal include: selecting a beamforming vector for data reception from the current beamforming codebook Wt for the current period t without performing channel estimation; and calculating a beamforming vector for data reception explicitly based on a recovered analog channel of the directional electromagnetic data signal, where the analog channel may be recovered based on the current beamforming codebook Wt and the estimate of the current combined channel Yt for the current period t. In embodiments where the beamforming vector is calculated explicitly based on the recovered analog channel for the current period t, the updated beamforming codebook Wt can be used with various channel recovery techniques such as algorithms based on least square and/or compressive sensing.
In operation 617, using the determined beamforming vector for the current period t (e.g., as a channel state information parameter), the detector 14 detects the data symbols in the received t-th directional electromagnetic data signal, and the decoder 18 may decode the data in the received data symbols.
By updating the beamforming codebook based on beamforming signals from a recent beam sweeping period (e.g., the immediately previous beam sweeping period), aspects of embodiments of the present disclosure combat poor link budget by improving the quality (e.g. signal to noise ratio) of the reception and decoding of the received directional electromagnetic data signal, whether by selecting a beamforming vector for data reception from the beamforming codebook Wt+1 without performing channel estimation or by calculating a beamforming vector for data reception explicitly based on channel estimation and the beamforming codebook Wt+1.
For the sake of clarity, while each period will generally include both a beam sweeping period and a data reception period, embodiments of the present disclosure are not limited thereto. For example, in the embodiment shown in
Accordingly, aspects embodiments of the present disclosure relate to systems and methods for updating a beamforming codebook to improve analog beamforming gain by aligning a beamforming vector of the beamforming codebook to an estimated dominant angle-of-arrival of a received signal. Some aspects of embodiments of the present disclosure relate to systems and methods for computing the estimated dominant angle-of-arrival. Some aspects of embodiments of the present disclosure relate to computing the remaining angles-of-arrival for the remaining beamforming vectors of the codebook based on the estimated dominant angle-of-arrival.
While aspects of embodiments of the present disclosure are described above with respect to linear antenna arrays, embodiments of the present disclosure are not limited thereto and may be adapted to antenna arrays having different shapes. For example, in the case of a planar antenna array, antenna elements may be spaced apart along two dimensions. In such embodiments, the received directional signal may be considered to have an angle-of-arrival (AoA) and a zenith angle-of-arrival (ZoA). Likewise, each of the beamforming vectors of the codebook may also have an AoA and a ZoA. In the embodiments shown in
where ⊗ denotes a Kronecker product, and
where the computation of an updated beamforming codebook W may proceed in a substantially similar manner to that described above, but using the antenna response vector a(θ,ϕ) for a planar array instead of the antenna response vector a(θ) for a linear array.
The term “processing circuit” is used herein to mean any combination of hardware, firmware, and software, employed to process data or digital signals. Processing circuit hardware may include, for example, radio baseband processors (BPs or BBPs), application specific integrated circuits (ASICs), general purpose or special purpose central processing units (CPUs), digital signal processors (DSPs), graphics processing units (GPUs), and programmable logic devices such as field programmable gate arrays (FPGAs). In a processing circuit, as used herein, each function is performed either by hardware configured, i.e., hard-wired, to perform that function, or by more general-purpose hardware, such as a CPU, configured to execute instructions stored in a non-transitory storage medium. A processing circuit may be fabricated on a single printed circuit board (PCB) or distributed over several interconnected PCBs. A processing circuit may contain other processing circuits; for example, a processing circuit may include two processing circuits, an FPGA and a CPU, interconnected on a PCB.
It will be understood that, although the terms “first”, “second”, “third”, etc., may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer or section from another element, component, region, layer or section. Thus, a first element, component, region, layer or section discussed herein could be termed a second element, component, region, layer or section, without departing from the spirit and scope of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the terms “substantially,” “about,” and similar terms are used as terms of approximation and not as terms of degree, and are intended to account for the inherent deviations in measured or calculated values that would be recognized by those of ordinary skill in the art.
As used herein, the singular forms “a” and “an” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. Expressions such as “at least one of,” when preceding a list of elements, modify the entire list of elements and do not modify the individual elements of the list. Further, the use of “may” when describing embodiments of the present disclosure refers to “one or more embodiments of the present disclosure”. Also, the term “exemplary” is intended to refer to an example or illustration. As used herein, the terms “use,” “using,” and “used” may be considered synonymous with the terms “utilize,” “utilizing,” and “utilized,” respectively.
It will be understood that when an element or layer is referred to as being “on”, “connected to”, “coupled to”, or “adjacent to” another element or layer, it may be directly on, connected to, coupled to, or adjacent to the other element or layer, or one or more intervening elements or layers may be present. In contrast, when an element or layer is referred to as being “directly on”, “directly connected to”, “directly coupled to”, or “immediately adjacent to” another element or layer, there are no intervening elements or layers present.
Any numerical range recited herein is intended to include all sub-ranges of the same numerical precision subsumed within the recited range. For example, a range of “1.0 to 10.0” is intended to include all subranges between (and including) the recited minimum value of 1.0 and the recited maximum value of 10.0, that is, having a minimum value equal to or greater than 1.0 and a maximum value equal to or less than 10.0, such as, for example, 2.4 to 7.6. Any maximum numerical limitation recited herein is intended to include all lower numerical limitations subsumed therein and any minimum numerical limitation recited in this specification is intended to include all higher numerical limitations subsumed therein.
While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims, and equivalents thereof.
This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63/005,850, filed in the United States Patent and Trademark Office on Apr. 6, 2020, the entire disclosure of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
63005850 | Apr 2020 | US |