Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEMS AND METHODS OF ESTIMATING CHANNEL PARAMETERS IN A WIRELESS COMMUNICATION SYSTEM
Document Type and Number:
WIPO Patent Application WO/2017/147662
Kind Code:
A1
Abstract:
A method (100) of estimating parameters of a communication channel in a wireless communication system (300) is disclosed. The method (100) includes the steps of: (101) dividing the transmitter/receiver angular transmission/reception domains into at least two angular regions, (102) defining at least two transmitter/receiver beam patterns for transmission/reception of a communication channel, the transmitter/receiver beam patterns collectively spanning each of the angular regions of the respective angular transmission/reception domains and being at least partially overlapping in at least one angular region of the respective angular transmission/reception domains, (103) transmitting, for a predetermined period of time, the communication channel from the transmitter to the receiver; and (104, 106) upon receiving the communication channel at the receiver, estimating parameters of the communication channel including an angle-of-departure (AOD) within the angular transmission domain and an angle-of-arrival (AOA) within the angular receiving domain.

Inventors:
KOKSHOORN MATTHEW (AU)
WANG PENG (SE)
LI YONGHUI (AU)
CHEN HE (AU)
Application Number:
PCT/AU2017/050193
Publication Date:
September 08, 2017
Filing Date:
March 06, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV SYDNEY (AU)
International Classes:
H04B7/04; H04L25/02
Foreign References:
US20120300867A12012-11-29
CN104698430A2015-06-10
Other References:
KOKSHOORN, M. ET AL.: "Fast Channel Estimation for Millimetre Wave Wireless Systems Using Overlapped Beam Patterns", IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC, 8 June 2015 (2015-06-08), London UK, pages 1304 - 1309, XP055413794
ALKHATEEB, A. ET AL.: "Channel Estimation and Hybrid Precoding for Millimeter Wave Cellular Systems", IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING, vol. 8, 5 October 2014 (2014-10-05), pages 831 - 846, XP080004266
Attorney, Agent or Firm:
SHELSTON IP PTY LTD (AU)
Download PDF:
Claims:
We claim:

1. A method of estimating parameters of a communication channel transmitted between a transmitter and a receiver in a wireless communication system, the method including the steps of: a) respectively dividing a transmitter angular transmission domain and a receiver angular receiving domain into at least two angular transmission and receiving regions, the transmitter angular transmission domain representing a range of possible transmission angles at which the communication channel can be transmitted from the transmitter and the receiver angular receiving domain representing a range of possible receiving angles at which the communication channel can be received at the receiver;

b) defining at least two transmitter beam patterns for transmission of the communication channel at the transmitter and at least two receiver beam patterns for receiving the communication channel at the receiver, the transmitter beam patterns collectively spanning each of the angular regions of the angular transmission domain and being at least partially overlapping in at least one angular region of the angular transmission domain, and the receiver beam patterns collectively spanning each of the angular regions of the angular receiving domain and being at least partially overlapping in at least one angular region of the angular receiving domain;

c) transmitting, for a predetermined period of time, the communication channel from the transmitter for receiving at the receiver; and

d) upon receiving the communication channel at the receiver, estimating parameters of the communication channel including an angle-of-departure (AOD), being an estimated angular transmission region within the angular transmission domain at which the communication channel was transmitted, and an angle-of-arrival (AOA), being an estimated angular receiving region within the angular receiving domain at which the communication channel was received.

2. A method according to claim 1 including the step:

e) based on the estimated AOD and AOA, defining new angular transmission and receiving domains which include only a subset of the angular regions and sequentially repeating steps b) to e) with sequentially smaller angular regions.

3. A method according to claim 2 wherein the new angular transmission and receiving domain comprises the angular regions in which the estimated AOD and AOA were found.

4. A method according to claim 2 or claim 3 including the step:

d2) calculating a probability of estimation error for the AOD and AOA.

5. A method according to claim 4 including the steps of feeding the estimated AOD back to the transmitter and repeating steps c) and d) with the current angular transmission and receiving domains if the estimation error is determined to be greater than or equal to a predetermined threshold value.

6. A method according to claim 4 including adjusting the predetermined period of time for transmitting the communications channel and repeating steps c) and d) with the current angular transmission and receiving domains if the estimation error is determined to be greater than or equal to a predetermined threshold value.

7. A method according to claim 4 including repeating steps c) and d) if the estimation error is determined to be greater than or equal to a predetermined threshold value.

8. A method according to any one of claims 5 to 7 including progressing to step e) if the estimation error is determined to be less than the predetermined threshold value.

9. A method according to any one of the preceding claims wherein the step of estimating parameters of the communication channel includes performing a maximum likelihood detection routine.

10. A method according to any one of the preceding claims wherein the wireless communication system operates in the millimetre wave (mmWave) spectrum.

11. A method according to any one of the preceding claims wherein the number of beam patterns is less than the number of angular regions.

12. A method according to any one of the preceding claims wherein the number of angular transmission and receiving regions is in the range of 3 to 10.

13. A method according to claim 12 wherein the number of beam patterns is in the range of 2 to 10.

14. A method according to any one of the preceding claims wherein the parameters include a channel gain.

15. A method of estimating parameters of a communication channel transmitted between a transmitter and a receiver in a wireless communication system, the method including the steps of: a) respectively dividing the transmitter angular transmission domain and receiver angular receiving domain into at least two angular transmission and receiving regions, the transmitter angular transmission domain representing a range of possible transmission angles at which the communication channel can be transmitted from the transmitter and the receiver angular receiving domain representing a range of possible receiving angles at which the communication channel can be received at the receiver;

b) defining at least two transmitter beam patterns for transmission of the communication channel at the transmitter and at least two receiver beam patterns for receiving the communication channel at the receiver, the at least two transmitter beam patterns collectively spanning each of the angular regions of the angular transmission domain and the at least two receiver beam patterns collectively spanning each of the angular regions of the angular receiving domain;

c) transmitting, for a predetermined period of time, the communications channel from the transmitter for receiving at the receiver;

d) upon receiving the communication channel at the receiver, estimating parameters of the communication channel including one or more of the angle-of-departure (AOD), being an estimated angular transmission region within the angular range domain at which the communication channel was transmitted, and an angle-of-arrival (AOA), ), being an estimated angular receiving region within the angular range domain at which the communication channel was received;

e) calculating a probability of estimation error for the AOD and AOA;

f) if the estimation error is determined to be greater than or equal to a predetermined threshold value, feeding the estimated AOD back to the transmitter and repeating steps c) and d) with the current angular transmission and receiving domains;

g) if the estimation error is determined to be less than a predetermined threshold value, defining new angular transmission and receiving domains based on the estimated AOD and AOA which include only a subset of the angular regions and sequentially repeating steps b) to e) with sequentially smaller angular regions; and

h) upon reaching a predetermined size for the angular regions, outputting the estimated AOD and AOA.

16. A method according to claim 15 wherein, at step h) a channel gain is estimated.

17. A method according to claim 15 or claim 16 wherein the at least two transmitter beam patterns and the at least two receiver beam patterns are at least partially overlapping in at least one angular region.

18. A method according to any one of the preceding claims performed on multiple communication channels.

19. A wireless communication system including:

a transmitter including a first plurality of antennas configured to wirelessly transmit a communications channel at an angle-of-departure (AOD) within an angular transmission domain, the transmitter including a transmission controller to set the AOD by defining at least two transmitter beam patterns for transmission of the communication channel, the at least two transmitter beam patterns collectively spanning the angular transmission domain and being at least partially overlapping in at least one angular transmission region within the angular transmission domain;

a receiver disposed at a distal location from the transmitter and including a plurality of receiving antennas configured to receive the transmitted communications channel at an angle - of-arrival (AOA) within an angular receiving domain, the receiver including a receiving controller to set the AOA by defining at least two receiver beam patterns for receiving the communication channel, the at least two receiver beam patterns collectively spanning the angular receiving domain and being at least partially overlapping in at least one angular receiving region within the angular receiving domain; and

a processor for estimating, upon receiving the communication channel at the receiver, parameters of the communication channel including the AOD, AOA.

A wireless communication system including:

a transmitter including a first plurality of antennas configured to wirelessly transmit a communications channel at an angle -of-departure (AOD) within an angular transmission domain, the transmitter including a transmission controller to set the AOD by defining at least two transmitter beam patterns for transmission of the communication channel, the at least two transmitter beam patterns collectively spanning each of a plurality of angular regions within the angular transmission domain;

a receiver disposed at a distal location from the transmitter and including a plurality of receiving antennas configured to receive the transmitted communications channel at an angle - of-arrival (AOA) within an angular receiving domain, the receiver including a receiving controller to set the AOA by defining at least two receiver beam patterns for receiving the communication channel, the at least two receiver beam patterns collectively spanning each of a plurality of angular regions within the angular receiving domain; and

a processor configured to

vi. upon receiving the communication channel at the receiver, estimate parameters of the communication channel including one or more of the AOD and the AOA;

vii. calculate a probability of estimation error for the AOD and AOA;

viii. if the estimation error is determined to be greater than or equal to a predetermined threshold value, feed the estimated AOD back to the transmitter and retransmit the communications channel with the current angular transmission and receiving domains;

ix. if the estimation error is determined to be less than a predetermined threshold value:

d. define new angular transmission and receiving domains based on the estimated AOD and AOA which include only a subset of the angular regions;

e. define new transmitter beam patterns and receiver beam patterns with fewer angular regions; and f. retransmit the communications channel; and

x. upon reaching a predetermined size for the angular regions, outputting the estimated AOD and AOA.

21. A wireless communication system configured to perform a method according to any one of claims 1 18.

Description:
SYSTEMS AND METHODS OF ESTIMATING CHANNEL PARAMETERS IN A WIRELESS COMMUNICATION

SYSTEM

FIELD OF THE TECHNOLOGY

[0001] The present Application relates to wireless communications. More specifically, embodiments of the present invention relate to channel estimation in millimetre wave wireless communications systems.

[0002] While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts.

BACKGROUND

[0003] Any discussion of the background art throughout the specification should in no way be considered as an admission that such art is widely known or forms part of common general knowledge in the field.

[0004] Millimetre wave (mmWave) communication has been shown to be a promising technique for next generation wireless systems due to the large expanse of available spectrum in the mmWave frequency band, ranging from 30GHz to 300GHz. However, a critical challenge in exploiting the mmWave frequency band is its severe signal propagation loss compared to that over conventional microwave frequencies. To compensate for such a loss, large antenna arrays can be employed to achieve a high power gain. Fortunately, owing to the small wavelength of mmWave signals, antennas can be packed into a small area at the transmitter and receiver. Channel state information (CSI) is essential for effective communication and precoder design in mmWave systems. The use of large antenna arrays results in a large multiple-input multiple-output (MIMO) channel matrix. This makes channel estimation a very challenging issue due to the large number of channel parameters to be estimated.

[0005] Due to reduced hardware systems proposed for mmWave systems, channel estimation has been performed using analog beamforming techniques, which often require an exhaustive search for channels in all possible angular directions. One recent advancement has come from the discovery that, despite the large number of channel parameters, the mmWave channel exhibits strong sparse propagation due to the high path loss. As a result, the mmWave MIMO channel matrix can be represented as a sparse matrix after being converted into the angular space. Leveraging sparse geometric channel characteristics, recent work has developed "divide and conquer" type multi-stage algorithms for estimating sparse mmWave channels (see, for example, A. Alkhateeb, O. El Ayach, G. Leus, and R. Heath, "Channel estimation and hybrid precoding for millimeter wave cellular systems," IEEE J. Sel. Topics Signal Process. , vol. 8, no. 5, pp. 831-846, Oct. 2014 - hereinafter "Alkhateeb et aV). Each stage of this algorithm refines the possible angular range of a path by the number of non-overlapped beam patterns at each end. This process continues until the smallest beam width resolution is reached. In each stage, the algorithm requires an estimation time proportional to the square of the number of beam patterns. In rapidly varying channels, such a channel estimation algorithm may not be quick enough to track the fast channel variations.

[0006] Therefore the inventors have identified a desire to develop a fast and efficient algorithm to further reduce the estimation time and energy.

SUMMARY OF THE INVENTION

[0007] In accordance with a first aspect of the present invention there is provided a method of estimating parameters of a communication channel transmitted between a transmitter and a receiver in a wireless communication system, the method including the steps of:

a) respectively dividing a transmitter angular transmission domain and a receiver angular receiving domain into at least two angular transmission and receiving regions, the transmitter angular transmission domain representing a range of possible transmission angles at which the communication channel can be transmitted from the transmitter and the receiver angular receiving domain representing a range of possible receiving angles at which the communication channel can be received at the receiver; b) defining at least two transmitter beam patterns for transmission of the communication channel at the transmitter and at least two receiver beam patterns for receiving the communication channel at the receiver, the transmitter beam patterns collectively spanning each of the angular transmission regions of the angular transmission domain and being at least partially overlapping in at least one angular transmission region of the angular transmission domain, and the receiver beam patterns collectively spanning each of the angular receiving regions of the angular receiving domain and being at least partially overlapping in at least one angular receiving region of the angular receiving domain;

c) transmitting, for a predetermined period of time, the communication channel from the transmitter for receiving at the receiver; and

d) upon receiving the communication channel at the receiver, estimating parameters of the communication channel including an angle-of-departure (AOD), being an estimated angular transmission region within the angular transmission domain at which the communication channel was transmitted and an angle -of-arrival (AO A), being an estimated angular receiving region within the angular receiving domain at which the communication channel was received.

[0008] In one embodiment the method includes the step:

e) based on the estimated AOD and AOA, defining new angular transmission and receiving domains, which include only a subset of the angular regions and sequentially repeating steps b) to e) with sequentially smaller angular regions.

[0009] In one embodiment the new angular transmission and receiving domain comprise the angular regions in which the estimated AOD and AOA were found.

[0010] In one embodiment the method includes the step:

d2) calculating a probability of estimation error for the AOD and AOA.

[0011] In one embodiment the method includes the steps of feeding the estimated AOD back to the transmitter and repeating steps c) and d) with the current angular transmission and receiving domains if the estimation error is determined to be greater than or equal to a predetermined threshold value.

[0012] In one embodiment the method includes adjusting the predetermined period of time for transmitting the communications channel and repeating steps c) and d) with the current angular transmission and receiving domains if the estimation error is determined to be greater than or equal to a predetermined threshold value.

[0013] In one embodiment the method includes repeating steps c) and d) if the estimation error is determined to be greater than or equal to a predetermined threshold value.

[0014] In one embodiment the method includes progressing to step e) if the estimation error is determined to be less than the predetermined threshold value.

[0015] Preferably the step of estimating parameters of the communication channel includes performing a maximum likelihood detection routine.

[0016] Preferably the wireless communication system operates in the millimetre wave (mrnWave) spectrum.

[0017] In some embodiments the number of beam patterns is less than the number of angular regions. In some embodiments the number of angular regions is in the range of 3 to 10. In some embodiments the number of beam patterns is in the range of 2 to 10.

[0018] Preferably the parameters include a channel gain.

[0019] In accordance with a second aspect of the present invention there is provided a wireless communication system including:

a transmitter including a first plurality of antennas configured to wirelessly transmit a communications channel at an angle -of-departure (AOD) within an angular transmission domain, the transmitter including a transmission controller to set the AOD by defining at least two transmitter beam patterns for transmission of the communication channel, the at least two transmitter beam patterns collectively spanning the angular transmission domain and being at least partially overlapping in at least one angular transmission region within the angular transmission domain;

a receiver disposed at a distal location from the transmitter and including a second plurality of receiving antennas configured to receive the transmitted communications channel at an angle-of- arrival (AOA) within an angular receiving domain, the receiver including a receiving controller to set the AOA by defining at least two receiver beam patterns for receiving the communication channel, the at least two receiver beam patterns collectively spanning the angular receiving domain and being at least partially overlapping in at least one angular receiving region within the angular receiving domain;

a processor to estimate, upon receiving the communication channel at the receiver, parameters of the communication channel including the AOD, AOA.

[0020] In accordance with a third aspect of the present invention there is provided a method of estimating parameters of a communication channel transmitted between a transmitter and a receiver in a wireless communication system, the method including the steps of:

a) respectively dividing the transmitter angular transmission domain and receiver angular receiving domain into at least two angular transmission and receiving regions, the transmitter angular transmission domain representing a range of possible transmission angles at which the communication channel can be transmitted from the transmitter and the receiver angular receiving domain representing a range of possible receiving angles at which the communication channel can be received at the receiver; b) defining at least two transmitter beam patterns for transmission of the communication channel at the transmitter and at least two receiver beam patterns for receiving the communication channel at the receiver, the at least two transmitter beam patterns collectively spanning each of the angular regions of the angular transmission domain and the at least two receiver beam patterns collectively spanning each of the angular regions of the angular receiving domain;

c) transmitting, for a predetermined period of time, the communications channel from the transmitter for receiving at the receiver;

d) upon receiving the communication channel at the receiver, estimating parameters of the communication channel including one or more of the angle -of-departure (AOD), being an estimated angular transmission region within the angular transmission domain at which the communication channel was transmitted, and an angle -of-arrival (AOA), being an estimated angular receiving region within the angular receiving domain at which the communication channel was received;

e) calculating a probability of estimation error for the AOD and AOA; f) if the estimation error is determined to be greater than or equal to a predetermined threshold value, feeding the estimated AOD back to the transmitter and repeating steps c) and d) with the current estimated angular transmission and receiving domains; g) if the estimation error is determined to be less than a predetermined threshold value, defining new angular transmission and receiving domains based on the estimated AOD and AOA which include only a subset of the angular regions and sequentially repeating steps b) to e) with sequentially smaller angular regions; and

h) upon reaching a predetermined size for the angular regions, outputting the estimated AOD and AOA.

[0021] In one embodiment, in step h) a channel gain is estimated.

[0022] In some embodiments the at least two transmitter beam patterns and at least two receiver beam patterns are at least partially overlapping in at least one angular region.

[0023] In some embodiments the methods of the first and third aspects are performed on multiple communication channels.

[0024] In accordance with a fourth aspect of the present invention there is provided a wireless communication system including:

a transmitter including a first plurality of antennas configured to wirelessly transmit a communications channel at an angle -of-departure (AOD) within an angular transmission domain, the transmitter including a transmission controller to set the AOD by defining at least two transmitter beam patterns for transmission of the communication channel, the at least two transmitter beam patterns collectively spanning each of a plurality of angular regions within the angular transmission domain;

a receiver disposed at a distal location from the transmitter and including a plurality of receiving antennas configured to receive the transmitted communications channel at an angle - of-arrival (AOA) within an angular receiving domain, the receiver including a receiving controller to set the AOA by defining at least two receiver beam patterns for receiving the communication channel, the at least two receiver beam patterns collectively spanning each of a plurality of angular regions within the angular receiving domain; and

a processor configured to

i. upon receiving the communication channel at the receiver, estimate parameters of the communication channel including one or more of the AOD and the AOA;

ii. calculate a probability of estimation error for the AOD and AOA; iii. if the estimation error is determined to be greater than or equal to a predetermined threshold value, feed the estimated AOD back to the transmitter and retransmit the communications channel with the current angular transmission and receiving domains;

iv. if the estimation error is determined to be less than a predetermined threshold value:

a. define new angular transmission and receiving domains based on the estimated AOD and AOA which include only a subset of the angular regions;

b. define new transmitter beam patterns and receiver beam patterns with fewer angular regions; and

c. retransmit the communications channel; and

v. upon reaching a predetermined size for the angular regions, outputting the estimated AOD and AOA.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Example embodiments of the disclosure will now be described, by way of example only, with reference to the accompanying drawings in which:

Figure 1 is a schematic illustration of a mmWave cellular communication system;

Figure 2 is a schematic diagram of a transmitter and receiver in a MIMO communication system;

Figure 3 is a process flow diagram illustrating the primary steps of a first method of estimating channel parameters in a wireless communication system;

Figure 4 are plots of example overlapping beam patterns in an angular domain divided into angular subregions;

Figure 5 is a process flow diagram illustrating the primary steps of a second method of estimating channel parameters in a wireless communication system;

Figure 6 is a schematic diagram of a wireless communication system;

Figure 7 is a schematic illustration of an example multi-stage channel estimation scenario using overlapped beam patterns;

Figure 8 is a graph of numerical simulation results of the probability of estimation error (PEE) as a function of signal-to-noise ratio for the RACE algorithm described herein for different target PEE values;

Figure 9 is a graph of numerical simulation results of the average number of measurements over a single path additive white Gaussian noise (AWGN) channel for different target PEE values;

Figure 10 is a graph of numerical simulation results of the probability of estimation error as a function of signal-to-noise ratio for methods described herein compared to the algorithm described in Alkhateeb et al. ; Figure 11 is a graph of numerical simulation results of the average measurements required for channel estimation as a function of signal-to-noise ratio for methods described herein compared to the algorithm described in Alkhateeb et al. ;

Figure 12 is a graph of numerical simulation results of the mean squared error of the fading coefficient as a function of signal-to-noise ratio for methods described herein compared to the algorithm described in Alkhateeb et al;

Figure 13 is a graph of numerical simulation results of PEE as a function of signal-to-noise ratio for methods described herein compared to the algorithm described in Alkhateeb et al for the case L=2;

Figure 14 is a graph of numerical simulation results of the average number of

measurements as a function of signal-to-noise ratio for methods described herein compared to the algorithm described in Alkhateeb et al for the case L=2;

Figure 15 is a graph of numerical simulation results of PEE as a function of signal-to-noise ratio for methods described herein compared to the algorithm described in Alkhateeb et al for the case L=3; and

Figure 16 is a graph of numerical simulation results of the average number of

measurements as a function of signal-to-noise ratio for methods described herein compared to the algorithm described in Alkhateeb et al for the case L=3.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Overview

[0026] Embodiments of the present invention relate to estimating parameters of a communication channel transmitted between a transmitter and a receiver in a wireless communication system. The invention is particularly adapted for estimating channel parameters in a millimetre wave (mmWave) wireless communications system, which are candidates for future cellular phone networks. As illustrated schematically in Figure 1, in a mmWave cellular system, base stations and mobile stations (handsets) communicate wirelessly through beamforming using antenna arrays. In such a system, both the base stations and mobile stations can operate as the transmitter or receiver.

[0027] Given that transmission occurs over a number of antennas disposed in arrays, transmission is modelled by multiple-input multiple -output (MIMO) matrix algebra. As illustrated in Figure 2, the transmitted channel is a combination of individual signals transmitted from each antenna in the transmitter array and steering of the channel is performed through manipulation of the phase and gains of the individual antennas through beamforming. Similarly, to efficiently receive the transmitted channel, the receiving antennas must be directed using beamforming so that the effective receiving aperture of the receiver captures the transmitted channel. By way of example, the transmitter and receiver may include arrays of antennas having as little as 2-by-2 antenna configurations. However, the present invention becomes particularly advantageous in systems utilising larger arrays of antennas. Current Long Term Evolution Advanced (LTE- Advanced) communication systems used in today's cellular networks already support up to 8-by-8 MIMO systems. Further, it is generally accepted that future 5G, mrnWave systems will have a minimum of 64 antennas at the base station and 32 antennas in the mobile devices.

[0028] Although the invention will be described with reference to mrnWave cellular systems, it will be appreciated by those skilled in the art that these principles can be extended to other wireless communications applications.

[0029] Referring to Figure 3 there is illustrated schematically a method 100 of estimating parameters of a communication channel transmitted between a transmitter and a receiver in a wireless communication system. At step 101, the method includes respectively dividing a transmitter angular transmission domain and a receiver angular receiving domain into at least two angular transmission/receiving regions. By way of example, Figure 4a illustrates an angular domain wherein the region between 0° and 180° is divided into three equal angular regions 5 1; S 2 and S3. Here the transmitter angular transmission domain represents a range of possible angles at which the communication channel can be transmitted from the transmitter and the receiver angular receiving domain represents a range of possible angles at which the communication channel can be received at the receiver.

[0030] At step 102 at least two transmitter beam patterns are defined for transmission of the communication channel at the transmitter. Similarly, at least two receiver beam patterns are defined for receiving the communication channel at the receiver. The transmitter beam patterns collectively span each of the angular regions of the angular transmission domain and at least partially overlap in at least one angular region of the angular transmission domain. The receiver beam patterns collectively span each of the angular regions of the angular receiving domain and at least partially overlap in at least one angular region of the angular receiving domain. By way of example, in Figure 4a, three exemplary beam patterns are defined which span the three angular regions 5 1; S 2 and 5 3 and overlap in one of the regions.

[0031] Steps 101 and 102 represent initialisation steps that are performed prior to transmission of the channel. From the beam patterns, transmission and receiving beamforming patterns can be calculated which represent the channel characteristics such as the direction, phase and amplitude. At step 103, the communication channel is transmitted from the transmitter for a predetermined period of time for receiving at the receiver. The predetermined period of time is chosen so that a sufficient number of measurement samples are obtained. The predetermined time period is divided into a plurality of timeslots, during which the channel is transmitted at one of each of the possible beam pattern combinations. For example, if three beam patterns are used at the receiver and two at the transmitter (an asymmetric case), six measurements would be obtained at the receiver, which represent the set of all possible combinations of the two transmitter beam patterns and the three receiver beam patterns. In this example, the predetermined time period would be divided into six timeslots.

[0032] At step 104, upon receiving the sequence of communication channel measurements corresponding to the set of beam pattern combinations at the receiver, parameters of the communication channel are estimated. These parameters include an angle-of-departure (AOD) within the angular transmission domain and an angle-of-arrival (AOA) within the angular receiving domain. The AOD represents an estimated angular transmission region within the angular transmission domain at which the communication channel was transmitted. Similarly, the AOA represents an estimated angular receiving region within the angular receiving domain at which the communication channel was received.

[0033] The estimation process is preferably performed using a maximum likelihood estimation routine described below. However, it will be appreciated that other estimation routines could be used in place of the maximum likelihood estimation. Similarly, approximations to maximum likelihood estimation procedures may also provide reduced complexity, with only a minimal reduction of performance.

[0034] In a single stage implementation of method 100, the gain of the channel can be estimated at this point and the procedure completes. However, typically method 100 is implemented in a multi-stage procedure wherein the estimated AOD and AOA are used as feedback to the transmitter and receiver and steps 101 to 104 are repeated using revised and focussed angular domains. A typical number of stages is 3 to 10. However the number of stages depends on the number of antennas and the minimum beam width able to be generated by the antenna array.

[0035] The output of step 104 is at least the estimated angular region in which the AOD and AOA is likely to be. Thus, the greater the size of the angular regions, the greater the degree of uncertainty of the AOD and AOA. For example, using Figure 4a, each angular region subtends 60° so the most accurate estimation of the AOD or AOA is to within that 60° range. To increase the accuracy of the AOD and AOA estimates, method 100 is performed in multiple stages with sequentially decreasing angular regions (thus obtaining higher resolution measurements).

[0036] At step 105, the estimated AOD is fed to the transmitter and the estimated AOA is updated at the receiver. As the processing typically occurs at the receiver (or a processor coupled to the receiver) there is generally no need to transmit the AOA information to the receiver but rather simply update the AOA information. However, in embodiments where the primary processing occurs remote to the receiver, the estimated AOA information is transmitted to the receiver. The estimated AOD/AOA information tells the transmitter and receiver where to search in the next stage of the algorithm. [0037] At decision 106, after each iteration of method 100, a determination is made as to whether the system has reached its minimum angular resolution. This minimum resolution is defined by the number and spacing of antennas in the transmitter and receiver arrays. However, an arbitrary minimum resolution may be chosen for the procedure that is greater than the actual minimum allowed by the system.

[0038] If the minimum angular resolution has been reached then, at step 107, the channel gain is estimated and the procedure ends. The final AOD and AOA are estimated to be the most likely angles. In practice, once these parameters were identified, useful transmission of information could occur between the transmitter and receiver, such as video streaming to a mobile handset from a base station.

[0039] If a minimum angular resolution has not been reached, then the method continues to the next stage. At step 108, new angular transmission and receiving domains are defined based on the estimated AOD and AOA. These new domains include only a subset of the previous angular domains and preferably only a region defined by one of the previous angular regions. The procedure then returns to step 101 where new angular regions are defined which subtend smaller angles than the previous angular regions. This is illustrated in Figure 4b which represents an example second stage of Figure 4a. Here, three new angular regions 5 1; S 2 and 5 3 are defined, all of which fall within the previous region S 1 as, in this example, the first stage estimated the AOD to lie within S 1 . At step 102 a new set of three overlapping beam patterns are defined which span the new angular domain defined by S lt S 2 and 5 3 . Figure 4 could represent either the transmission or receiving domains. Although three beam patterns and three angular regions are illustrated, it will be appreciated that other numbers of these parameters can be used. For example, the number of beam patterns may be in the range of 2 to 10 and the number of angular regions is in the range of 3 to 10. Larger numbers of beam patterns and angular regions is possible and advantageous in that more angular regions produce a higher resolution output. However, this is limited by computational complexity and the associated computation time. Therefore, as computer power increases, it is envisaged that the number of angular regions and beam patterns will be able to be scaled up to produce higher resolution angular channel AOD/AOA estimation.

[0040] The number of beam patterns and angular regions at the transmitter need not match the number used at the receiver. In some embodiments fewer or greater numbers of beam patterns and angular regions are used at the transmitter than at the receiver.

[0041] Steps 103 and 105 are then repeated to estimate new AOD and AOA. The process continues with sequentially smaller angular regions until the minimum angular resolution is reached. [0042] Method 100 represents a fast channel estimation (FCE) routine which utilises overlapping beam patterns to enhance the speed of channel estimation. The mathematical framework of this routine, as implemented as a computer algorithm, is set out below.

[0043] Referring now to Figure 5, there is illustrated a second method 200 of estimating channel parameters in a wireless communication system. Method 200 shares a lot of the same steps as method 100 but includes further processes to improve the accuracy of the channel parameter estimation. In particular, steps 201 to 204 represent steps 101 to 104 of method 100. However, in step 202, the defined beam patterns need not (but may) overlap. A primary difference arises at step 205, wherein a probability of estimation error (PEE) for the AOD and AOA is calculated. This PEE represents how accurate the estimated AOD and AOA are. Based on this PEE, the further processing is divided.

[0044] At step 206, the estimated AOD is fed to the transmitter and the estimated AOA is updated at the receiver, as per step 105 of method 100. Steps 206 and 205 are interchangeable in order. At decision 207, a determination is made as to whether the calculated PEE is greater than, equal to or less than a predefined threshold probability. An example threshold probability is 0.01. Increasing this threshold value will lead to greater accuracy, but will lead to more measurements on average (and therefore longer computational time). Decreasing the threshold value, will lead to less average measurements, but reduced accuracy. The choice of an appropriate threshold probability is application specific and may be different in, say, a wireless sensor network than a cellular network, due to different power/energy and accuracy requirements. If the estimation error is determined to be greater than or equal to a predetermined threshold value, the estimated AOD and AOA are not likely to be particularly accurate and the current stage is repeated with the estimated AOD and AOA as feedback. In this situation, the method returns to step 203 where the channel is again transmitted at step 203, this time with the new estimated AOD. At the receiver, with the AOA adjusted to match the estimated AOA, a new channel estimation is performed at step 204.

[0045] At step 205 the PEE is again calculated. If the PEE is still greater than or equal to the predefined threshold, steps 203-205 are again performed. When the PEE is below the predefined threshold, method 200 proceeds to decision 208 wherein a determination is made as to whether the system has reached its minimum angular resolution. Decision 208 is analogous to decision 106 of method 100. As mentioned, the minimum resolution is defined by the number and spacing of antennas in the transmitter and receiver arrays. However, an arbitrary minimum resolution may be chosen for the procedure that is greater than the actual minimum allowed by the system.

[0046] If the minimum angular resolution has been reached at decision 208, then, at step 209, the channel gain is estimated and the procedure ends. The final estimated AOD and AOA are considered to be the most likely angles and these are used in subsequent data communication in the system. [0047] If, at decision 208, a minimum angular resolution has not been reached, then the method continues to the next stage. At step 211, new smaller angular transmission and receiving domains are defined as in based on the estimated AOD and AOA step 108 of method 100. The procedure then returns to step 201 where new angular regions are defined which subtend smaller angles than the previous angular regions. At step 202 a new set of beam patterns are defined which span the new angular domain. The beam patterns may or may not be overlapping.

[0048] Steps 203 to 206 are then repeated to estimate new AOD and AOA and PEE. The process continues with sequentially smaller angular regions until the minimum angular resolution is reached with sufficiently low PEE. The output is the estimated AOD, AOA and channel gain.

[0049] Referring now to Figure 6, in one embodiment, methods 100 and 200 can be performed by a wireless communication system 300. System 300 includes a transmitter 301 and a receiver 302. Transmitter 301 including a plurality of transmitting antennas 303 for wirelessly transmitting a communications channel at an AOD within the angular transmission domain. Transmitter 301 also includes a transmission controller 304 to set the AOD by defining at least two transmitter beam patterns for transmission of the communication channel. The transmitter beam patterns collectively span the angular transmission domain and may partially overlap in at least one angular region within the angular transmission domain.

[0050] Receiver 302 is disposed at a distal location from transmitter 301 and including a plurality of receiving antennas 305 for receiving the transmitted communications channel at an AOA within the angular receiving domain. Receiver 302 includes a receiving controller 306 to set the AOA by defining at least two receiver beam patterns for receiving the communication channel. The receiver beam patterns collectively span the angular receiving domain and may partially overlapping in at least one angular region within the angular receiving domain.

[0051] The number of transmitting antennas may be fewer, greater or the same as the number of receiving antennas. Consequently, the size of the angular transmission regions may be smaller, larger or the same as the size of the angular receiving regions.

[0052] System 300 also includes a processor 307 for estimating, upon receiving the communication channel at the receiver, parameters of the communication channel including the AOD, AOA and a channel gain. Processor may also calculate the PEE and a channel fading coefficient, which is representative of the channel gain. In some embodiments, processor 307 may be integral with receiver 302 and may be operatively associated with receiving controller 306. In one embodiment, processor 307 is receiving controller 306.

[0053] Method 200 represents a rate adaptive channel estimation (RACE) routine which utilises error probability estimation to improve reliability of the measurements. Method 200 can be used with overlapped beam patterns to enhance the speed of the routine while still capturing the improved reliability. [0054] The mathematical framework of methods 100 and 200 are described below. System model

[0055] Consider a mrnWave MIMO system composed of N t transmit antennas and N r receive antennas. Both the transmitter and receiver are equipped with a limited number of radio frequency (RF) chains. It is further assumed that these RF chains, at one end, can only be combined to form a single beam pattern, indicating that only one pilot signal can be transmitted and received at one time. To estimate the channel matrix, the transmitter sends a pilot signal x, with unit energy (|| x || 2 = 1), to the receiver. Denote by / and w (ΙΙ/ΊΙ 2 = || w|| 2 = 1) respectively, the N t X 1 beamforming vector at the transmitter and N r X 1 beamforming vector at the receiver. The corresponding channel output can be represented as

y = v Pw H f x 4- w H

(1)

[0056] where H denotes the N r X N t MIMO channel matrix, P is the transmit power and q is an N r X 1 complex additive white Gaussian noise (AWGN) vector following distribution

CN(0, N o I Nr ).

[0057] A mrnWave channel has sparse propagation characteristics and can therefore be described by only three parameters:

Angle -of -departure, φ (AOD)

> Angle -of-arrival, Θ (AOA)

Fading coefficient (channel gain), a.

[0058] In this description, a two-dimensional (2D) sparse geometric-based channel model is adopted. Specifically, an L path channel is considered between the transceiver, with the Zth path having steering AOD, φ\ , and AOA, <pi[ where I = 1, · ·· , !. Then the corresponding channel matrix can be expressed in terms of the physical propagation path parameters as

(2)

where a ; is the fading coefficient of the Zth propagation path, and a t ( 0 ) and a r ( 0 ) respectively denote the transmit and receive spatial signatures of the Zth path. To simplify the analysis, it is assumed that the transmitter and receiver have the same number of antennas (i.e., N t = N r = N). However, the developed schemes can be easily extended to a general asymmetric system. If uniform linear antenna arrays (ULA) are employed at both the transmitter and receiver, we can define a t ( ø[) = u(0 ) and a r ( ø[) = u(0[), respectively, where n (ø')

[0059] Here, the steering angle, = d si with λ denoting the signal wavelength. A similar expression can be written for <p\ at the receiver. With half-wavelength spacing, the distance between antenna elements becomes d = λ/2.

[0060] From (2), it can be seen that the overall channel state information of each path includes only three parameters, i.e., the AOD <pi[ , the AOA <pi[ , and the fading coefficient a ; . Assume that the fading coefficient of each path follows a complex Gaussian distribution with zero mean and variance P R and that both <p\ and <pi[ can only take some discrete values from the set U N = π π(Ν— 1) " )

0,— , · ·· ,— -— j. The aim is to find an efficient way to estimate these three parameters for each path. The key challenge here is how to design a sequence of f's and w's in such a way that the channel parameters can be quickly and accurately estimated.

[0061] Consider M pairs of beam patterns that are designed to span all possible transmit -receive combinations. Denote by f m and w m , respectively, the transmit and receive beamforming vectors adopted in the mth channel measurement time slot such that \\f m || 2 = \\w m || 2 = 1, Vm = 1, · · · , M. Assume the same pilot symbol x is transmitted during the M time slots. Then, after M time slots, we can obtain a sequence of M measurements represented as

y = Pxh v - n, ^

where h v describes the channel input-output relationship for a given set of transmit and receive beamforming vectors defined by

and

is an M X 1 vector of the corresponding noise terms. Note that since \\w m || 2 = 1, Vm„ the vector n follows the same distribution as that of q m , i.e., n~CW(0, N 0 I M ).

[0062] Motivated by the geometric sparsity of the mmWave channel, in the following two sections, a set of overlapped beam patterns are used that are able to estimate the AOD/AOA information very quickly. The algorithm can be extended to use a rate-adaptive estimation approach. The adaptive nature of the algorithm permits additional measurements to be performed under poor channel conditions. This allows the fast channel estimation to be carried out with significant accuracy and energy efficiency.

Fast Channel Estimation with Overlapped Beam Patterns

[0063] In this embodiment, a fast channel estimation framework for mrnWave systems is developed using overlapped beam patterns. Specifically, a set of beam patterns is designed that, in different measurement intervals, are overlapped with one another in the angular domain. A maximum likelihood based estimation algorithm is then proposed to accurately retrieve the channel state information from the set of measurements. The proposed fast channel estimation (FCE) algorithm also works in a multistage manner where each stage reduces the possible sub -ranges in which the AOA/AOD are expected to be found.

A. Exemplary Overlapped Beam Pattern Design

[0064] The design principle of overlapped beam patterns is now described using the simple example illustrated in Figure 4. Following Figure 4, the AOD/AOA angular domains are divided into K = 3 sub-ranges in the first stage, denoted by S 1 = {e £ U N |0≤ e < n/3}, S 2 = {e £ U N \n/3≤ e < 2π/3] and S 3 = {e £ U N \2n/3≤ e < π], respectively. However, instead of using 3 beam patterns to cover them at each transceiver end as in Alkhateeb et al, only 2 overlapped beam patterns to achieve this. Figure 4a illustrates designed beam patterns in the first stage. It can be seen that the first and second beam patterns cover S 1 , S 2 and S 2 , S 3 , respectively, and are overlapped in the whole range of S 2 . It is also seen that each beam pattern can have different amplitudes in different sub-ranges. The amplitudes of each beam pattern are represented in different sub-ranges by a vector. For beam pattern 1 and 2 in Figure 4a, these vectors are respectively defined as

where corresponds to the ith beam pattern with b i k denoting the amplitude of the ith beam pattern in sub-range S k , Vk = 1, · ·· , K. By using M = 4 measurement time slots, all beam pattern combinations can be spanned between the transceiver. The sequential set of beam patterns respectively adopted at the transmitter and receiver is denoted by

[0065] These matrices are referred to as the beam pattern design matrices, with their mth row denoting the beam pattern adopted in the mth measurement time slot, where m = 1, ■■■ , M. The efficient design of these beam patterns can lead to many solutions. However, one desirable property is that the same quantity of signal energy is transmitted/received via each sub -range over all measurements, i.e., the energy of each column of (8)-(9) should have the same Euclidean norm. This provides the same accuracy for each possible sub-range combination. Another desirable property is that the transmit/receive beamforming gains of all measurement patterns are equal, i.e., the energy of each rows of (8)-(9) should be the same.

[0066] One possible way to make the beam pattern sub-range amplitudes in (7) follow the aforementioned properties is to normalise B^ and B^ to have unit energy in each row and have equal energy in each column. For the beam patterns in Figure 4, b l 3 = b 2 l = 0, as beam patterns 1 and 2 do not cover, respectively, the third and first sub-ranges. Due to the symmetry between the

1 \[2 two beam patterns, b 1 1 = b 2 3 = β \ and b 1 2 = b 2 2 = /¾ · This leads to β 1 = -= and β 2 = and the matrices -(9) bec

[0067] In order to observe the resultant amplitude gains (i.e., the transceiver gain) over each of the K 2 = 9 sub -range combinations, another matrix is introduced that is referred to as the generator matrix. This is defined as the row-wise Kronecker product between the transmit beam pattern design matrix and the receive beam pattern design matrix such that l) hi

recalling that O and ® represent the row-wise Kronecker and Kronecker product operations respectively. By denoting b ' and b ,^(m', K fe r } ) as the entry on the / f th and k th column on the mth row in

where the relationship d = K k l — 1) + k r is a result of the Kronecker product operation. The columns of generator matrix describe the M = 4 received measurement gains over each of the K 2 = 9 sub-range combinations. For example, if a path were present between the transmit subrange K l = 3 and the receive sub -range k r = 1, the measurement vector y would be expected to be a scalar multiple of column d = 7 of It is important to note that the sets of beam patterns used in this paper are not unique. Their performance, in terms of PEE, depends only on the Euclidean distance between each column of which directly determines the probability that one column corresponding to a certain sub-range is to be mistaken for another. In the example set shown in (11), each column has the same equal minimum Euclidean distance when compared with all other columns, although some have more spatial neighbours at this minimum distance than others.

B. Beamforming Vector Design

[0068] To generate the beam patterns illustrated in Fig. 2(a) and described in (10), the transmit and receive beamforming vectors should be designed as follows. Beamforming is a process used in arrays of transmitters to directionally steer a beam towards a desired location. By applying a precoder or combiner that alters the phase and amplitude of the signal leaving each antenna, the beam can be steered in a given direction. Beamforming also refers to the corresponding receiving process by an array of receivers wherein the direction of arrival is deduced from phase and amplitude relationships across the receiver array. Denote by f m and w m , respectively, the transmit beamforming vector and receive beamforming vector corresponding to the mth pair of beam patterns in and B^ We then design the product of the transmit array response and transmit beamforming vector to have u*{e)f m = Cb^' k} , if 3 k G { :L 2, , & ' }, < £ «¾

(13)

and the product of the receiver array response and receive beamforming vector to have

u H {e)w m = Cbx ( ,K> ., if 3 k€ { 1 , 2. .... K}, e€ ,¾. ,

(14)

where u(e) has been defined in (3) and C is a scalar constant that ensures H/m lh = l| w m || 2 = 1. Physically, C corresponds to the average directivity gain of each beam pattern and is the same for all m = 1, · · · , M due to the normalisation of the rows in (10). Eqs. (13) and (14) can be expressed in a matrix form as

U H f m

(15)

and r H

(16)

where |S| denotes the cardinality of set S. U = j w(0), U (^ , ■■■ , u ^)] is a matrix whose columns describe the antenna array response at each angle. Therefore f m and w m can be designed as

{UU f ' ) Uz (17)

and

(18)

where (IJU ) U is the pseudo inverse

C. Channel Measurements

[0069] Channel estimation is now performed in the first stage using the previously designed transmit and receive beamforming vectors {f m } and {w m }. In each time slot, the beamforming vectors f m and w m are adopted to transmit/receive the pilot signal x. If the channel in (2) is substituted into (5), the following expression is obtained:

I.

!M )

hi .

(19) [0070] Without loss of generality, let us consider the case with AOD, <p\ £ S fe t and AOA, φι £ S k r , where kj and k\ are respectively, the transmit and receive sub-range indices of the Zth propagation path. By recalling (13)-(14) we write

u ψϊ )f m = Cb j ■■ ami M ( ¾ }w m = *

(20)

which leads to

[0071] It can be seen from (12) that the vector term in (21) is the weighted sum of the columns of i.e., the weighted sum of columns d; = K(kj — 1) + kj, Vl = 1, · · · , L, in G^ M Therefore h v can be expressed by the generator matrix as

where v is a 1 X K 2 sparse row vector that describes the channel gain at each of the K 2 sub-range combinations by

,. d . t ; i (23) and zero otherwise. For example with K = 3 , a single path (i.e., L = 1) with coefficient <¾ , exists on the first transmit sub-range (i.e., kj = 1) and second receive sub-range (i.e., k\ = 2) leads to d = K(kj - 1) + kf = 2 and

V = {0, , 0, 0, 0 5 0, 0, 0, 0}. (24)

[0072] Finally by using (22), the received channel output vector defined in (1) can be rewritten, after M measurements, as

D. Maximum Likelihood Detection of AOD/AOA Information

[0073] An efficient means of detecting v is now required, given that a generator matrix has been used to obtain the channel outputs in (25). Due to its optimal detection properties, this subsection elaborates how to implement a maximum likelihood detection method to extract the AOD/AOA information from the received measurements. Initially, consider the distribution of y(M) r om (25), this can be expressed as

ΡΝ 2 ϋ 4

[0074] Recall that n (M) ~CW(0, N 0 I M ), where I M is the M X M identity matrix. Also recall that the pilot signal x has unit energy, i.e., ||x|| 2 = 1. For the signal component, as each of the path coefficients <¾ have zero mean, then E[G (m V] = 0 and

[0075] By defining a binary version of v, denoted by v, with elements defined by

JL if > 0, ¥ o? = l....,A '2 ;

j 0. otherwise

^ ' (29)

the AOD/AOA information in v can be separated from each of the path coefficient variances, P R . As each path coefficient has variance £"[a;a ] = P R , VZ, this then gives = P R v T v., then the distribution of can be re-written as

where

Έ Ν = PN^C'PR G (M >V T V(GW ) H + N Q I M , (31)

[0076] It can now be seen that follows a zero mean, circularly symmetric complex

Gaussian (CSCG) distribution with corresponding probability density function (PDF) defined as [27]

[0077] Now let us find the conditional probability of v, given the receive measurement vector y (M) and knowledge of Define V as the set of all possible binary channel realisations such that v £ V. Also, \V\ is defined to represent the cardinality of this set. Following the principle of maximum likelihood detection and based on Bayes rule, the probability of v can be expressed for all possible v £ V as

P{ v- - · . - ' = —

' · 1 " (33)

where the term ev (34)

is independent of a particular channel realisation. It is assumed that each channel realisation is equiprobable, therefore pi V > . V■ V.

V

(35)

[0078] Next, denote the probability that the dth element of v has a path by p(y d = 1), Vd = 1, · ·· , Κ 2 . This probability can be expressed as the sum of all p(v|y (M) , G (M) ) in (33) in which v d = l by

pi v d = 1 GK Ai >) = p(v\y iAi G

(36)

[0079] Following the maximum likelihood approach, the most likely sub-range combination is found by a— argmax ?.) ¾

(37)

[0080] Finally, by finding the most likely transmitter and receiver subranges through k. d - K(k t - 1)

K (38)

the ranges of possible AOA and AOD can be reduced to, respectively, the k t th transmit and k r th receive angular subranges. Each of these two sub-ranges will be further divided into another K subranges for the channel estimation in the next stage.

[0081] The main steps in the fast channel estimation algorithm are summarised below in Algorithm 1.

Algorithm 1: Fast channel estimation (FCE) algorithm for

mmWave channels using overlapped beam patterns

Input : Transmitter and receiver both know, N. K

and have £?^ 'Λί Ι . B^' Jli l

.Initialization : Set initial sub-ranges,

si..$ i, V k = } , ■■■ ,K

end

Output :

S=i 3=1

« = PRr H (fP R f H ÷ NoI^A^r

E. Multi-stage Generalization

[0082] In general the proposed channel estimation algorithm works in a similar multi-stage manner as that in Alkhateeb et al, requiring S = [log^ JV] stages. In the sth stage, the possible

(s) (s) (s)

AO A angular space is initially divided into K non-overlapped subranges S^. ^,Ξ^. 2 , ··· ,S r K and the

(s) (s) (s)

possible AOD angular space is divided into Sj. ,Sj. 2 , ··· ,5^. Then only M overlapped beam pattern pairs will be designed at the transmitter and receiver to cover these K sub-ranges. The designed M beam patterns are characterised by the M X K beam pattern design matrices B ' M ^ and Bg' M These should be generated to maximise the minimum Euclidean distance between the columns of the corresponding generator matrix G^ S,M

[0083] Given Βγ' Μ ^ and B^' M both the transmit beamforming vectors { ^j and receive bearnforrning vectors For example, to generate for

[ { S 777. ) I

Z J , Vi = 1, ■■■ ,N, satisfies

where C s is a scalar constant for the sth stage to guarantee that satisfies /„ = 1.

[ (s 771 ll f s z^ ' J describes the desired beam pattern amplitude at angle— when f ^ is used.

is)

Each receive beamforming vector can be designed in the same way.

[0084] The channel output on the sth estimation stage can then be obtained after M time slots by

V (40)

where

and P s denotes the transmit power of the pilot signal in the sth stage. Similar to that in Alkhateeb et al. , we prefer that all the stages have an equal probability of failure, indicating that we should allocate power among stages inversely proportional to the beamforming gains of these beam patterns, i.e.,

PT V 1 . 2. · · · . S

(42)

where P T is a constant. Similar to (37) we then find the most likely sub -range combination of the sth stage by

with the corresponding most likely transmitter and receiver sub-ranges given by

, j¾ > = $«) - K(k9

K (44)

(s) (s)

[0085] The selected sub -ranges, 5 ^ and 5 ^ are then used for the channel estimation in

t,k t r,k r

the next stage. This process continues until the minimum angle resolution— is reached requiring S = og* 0V)1 stages. F. Estimation of the Fading Coefficient

[0086] Once all estimation stages described in the previous subsection have been performed, the identified path fading coefficient a is estimated. In Alkhateeb et al, the value of a was estimated based on the measurement of the final stage only. To improve the estimation accuracy, a is estimated by using all measurements in all stages of the algorithm. Denote by r and f, respectively, the vector of all received measurements and the vector of their estimates such that

where timation is correct in each stage, then

r = ro: + w (46)

where w is the SM X 1 vector of corresponding noise terms. In the case where the AOD/AOA estimation is incorrect, the estimation of the fading coefficient is not important as there will be a beam misalignment between the transmitter and receiver. Following the linear minimum mean squared error (LMMSE) principle, the fading coefficient a can then be estimated as

ά (4?)

where is an | | X | | identity matrix. Now we can formally describe the proposed fast channel estimation algorithm using overlapped beam patterns in Algorithm 1.

[0087] An example of the above described Fast Channel Estimation method using overlapped beam patterns is illustrated schematically in Figure 7. In this example, an arrow is used to represent the propagation path to be estimated. As can be seen, in the first stage, it is expected that a signal will only be received in the first and second measurements (due to the propagation path angle). As the transmit beam patterns used are predetermined and thus known to the receiver, it can be logically deduced that the AOD at the transmitter can only belong to the 1st sub-range and that the AOA at the receiver should belong to the 2nd sub-range.

[0088] It is noteworthy that this series of measurements (i.e., \y y ' ,*,*]) corresponds to the 2nd column of the generator matrix in (11). The receiver then feeds back the AOD sub -range to the transmitter for the channel estimation in next stage. Both the transceiver and receiver then divide their estimated sub-range into narrower sub-ranges and carry out further overlapped sub-range measurements. As can be seen, in the second stage, it is expected that a signal will only be received in the final measurement. Logically, this means that the AOD at the transmitter is within the 3rd sub-range and the AOA at the receiver is on the 3rd sub-range. This series of measurements (i.e., [*, *, *, ]) also corresponds to the 9th column of the generator matrix in (11). Rate Adaptive Channel Estimation Algorithm

[0089] The proposed channel estimation scheme explained in the previous section uses a fixed Q ( ,M) w h ere the detector is forced to make a decision after M measurements, irrespective of what the computed probability (¾(s) = l \y^ SIM G^ S,M ^ may be. Leveraging the detection method developed in the previous section, we now propose a novel rate-adaptive channel estimation (RACE) algorithm.

[0090] Initially a target maximum probability of estimation error (PEE) is introduce, which is denoted by Γ. The basic principle of the RACE algorithm is that after the M initial measurements are completed in any given stage, if the most likely subrange combination probability does not satisfy (¾(s) = l \y^ SIM G^ S,M ^ > (1— Γ), then additional measurements will be performed. To this end, the receiver will feedback the current most likely transmit sub-range, / t , and also the information indicating whether more measurements are required or not.

[0091] Note that the non-overlapped algorithm proposed in Alkhateeb et al. also feeds back a sub-range number to the transmitter, however in this embodiment of the invention, an additional bit is included corresponding to whether more measurements in this stage are required or not. This feedback only requires [log 2 (K) + 1] bits, which will be shown to be negligible at high signal-to- noise ratio (SNR) as the average number of additional measurements required is close to zero.

[0092] If the specified probability threshold was not met after the th measurement, instead of the transmitter and receiver further dividing sub -ranges corresponding to (s) and k^ (.s) , an additional measurement is taken on their sub-range combination. The associated beamforming vectors are designed to correspond to a newly added row to each of B^ ' M ^ and B^' M ^ yielding g(s,M+i) an( ^ β ,Μ+Ό ^ reS p ec tively. Define bf as a 1 X d sparse binary row vector with a single 1 in its ith entry and 0 otherwise such that bf = [ I - 1 , 1, 0 d _j] where 0j is a 1 X ί all zeros row vector. The updated beam pattern design matrices Β γ (s,M+l) and B (s,M+l)

R can then be expressed as

. .<'

r i 1 1}

(48)

[0093] The ( + l)th transmit and receive beamforming vectors can then be calculated from the new row in these matrices and be used to measure the channel, obtaining y (s ' M+1 The updated generator matrix corresponding to (48) can be described by

= BZ

(49) [0094] The estimation parameters can then be updated based on the updated G^- ' and y(s,M+i) an d (-jjg ML detector developed in the previous section. We can generalise this to G^ S,M+R ^ where R = 0,1, · ·· indexes the additional measurements.

[0095] An exemplary implementation of the RACE algorithm is described in Algorithm 2 below. As can be seen from the algorithm description, this process then repeats until either the threshold condition has been met (i.e., (¾ = l \y^ s,M G^ S,M ^ > (1 — Γ)) or a maximum number of measurements, denoted by M max , has been reached (i.e., M + R = M max ). Under fading channel conditions, there always exists a non-zero probability of an Outage' occurring when the path coefficient is close to zero. By imposing the upper limit to the number of measurements the time and energy expended in this case is reduced. As the RACE algorithm is able to compute the probability of successful estimation during the estimation process, it can minimise the number of measurements required for successful estimation and therefore reduce the associated energy.

Algorithm 2: Rate-adaptive channel estimation fRACE) algorithm for ramWave channels

Input : Transmitter and receiver both know, N, K and have Β Ύ % B R

Example simulated results

[0096] The performance of the above described methods were simulated and example simulated results are illustrated in Figures 8 to 10. Comparison is made to the system proposed in Alkhateeb et al.

[0097] In the simulations, a mmWave system with N = 27 antennas is assumed at both the transmitter and receiver. A single path channel with fading coefficient, a, is used and assumed to follow a complex Gaussian distribution with zero mean and variance P R = 1. Assume the corresponding AOD, <p\ £ U N , and AOA, <p\ £ U N , to follow a random uniform distribution. Set K = 3 for both of the fast channel estimation (FCE) and RACE algorithms and the algorithm in Alkhateeb et al. , all requiring 5 = 3 stages. K 2 = 9 measurements are required in each stage of Alkhateeb et al. However, in the algorithms of the present invention, only M = 4 time slots are involved in each stage the FCE algorithm and a minimum of M = 4 for the RACE algorithm. The performance of the RACE algorithm is shown for a number of different values of maximum measurements, M max , and uses a target PEE of Γ = 10 ~2 . Power allocation among 5 = 3 stages is applied to all algorithms as (42).

[0098] Figures 8 and 9 show simulated results evaluating the impact of the target PEE over an additive white Gaussian noise channel (AWGN), and support the RACE algorithm's ability to keep the probability of estimation error (PEE) constant by adaptively adjusting the measurements. Figure 8 illustrates the probability of estimation error (PEE) as a function of signal-to-noise ratio for the RACE algorithm described herein for different target PEE values. Figure 9 illustrates the average number of measurements over a single path additive white Gaussian noise (AWGN) channel for different target PEE values, the results are simulated over a simple single path AWGN channel with K = 3, M = 4, and N = 3 (i.e., single stage). Here \a\ = P R = 1 with varying Γ.

[0099] To show the constant average PEE, here M max = 250 so that even at low SNR, the achieved PEE is unaffected by the number of measurements saturating to its maximum. In addition, as the channel is AWGN, there will also be no chance of a "deep fade" where measurements may continue indefinitely. From Figure 8, it is seen that the RACE algorithm increases the number of measurements in attempt to hold the PEE below the target value. It is also seen that the PEE achieved is normally lower than the target PEE. This is largely because the target PEE is actually the highest allowable PEE, for which no additional measurements are required. As such, the average PEE is the average of many channel estimations with performance better than this target. Furthermore, in some cases (particularly in mid-SNR where the number of measurements are low), a single additional measurement on the correct sub-range will significantly increase the PEE beyond the target PEE. It is seen that this effect diminishes at low SNR where the significance of additional measurements is not as large as that in medium to high SNR. That is, the average PEE is closer to the target PEE. [00100] Figure 10 shows the probability of an incorrect AOD/AOA estimate after the S stages of estimation have been carried out and Figure 11 shows the average total number of measurements required for the same estimation. The total energy required in the overall channel estimation process is calculated by E T = ∑s=i P s ( + R). It can be seen that, to achieve the same PEE as that in Alkhateeb et al. , the FCE algorithm requires 2.5 dB more energy for a given noise power N 0 . However, the number of required channel measurements is decreased by a factor of 2.25.

[00101] For the RACE algorithm, it can also be seen that with M max = 5, while still significantly faster than Alkhateeb et al. , it has an improved energy gain for a given PEE compared to M max = 4, but still worse than Alkhateeb et al. by about 1 dB. When M max is increased to M max = K 2 = 9, it can be observed from Figure 10 that the required energy in this case is around 2.5 dB better than Alkhateeb et al. From Figure 11, it is seen that when M max = K 2 = 9 is used, the RACE algorithm is always faster than Alkhateeb et al. and, at medium to high SNR (i.e., E T /N 0 > 25), the average number of channel measurements converges to SM. That is, using the RACE algorithm with M max = K 2 achieves 2.25 factor reduction of channel measurements while also achieving an energy gain of 2.5 dB for a given probability of error. Further increasing the maximum number of measurements to M max = 2K 2 = 18 (i.e., the algorithm at most requires twice the measurements required of Alkhateeb et al.) the RACE algorithm achieves an energy gain of 6 dB compared to Alkhateeb et al. at medium to high SNR, while requiring an average of 2.25 times less channel measurements. Furthermore, it is observed from SNRs greater than 10.5 dB that the average number of measurements required in the RACE algorithm is also less than that required by the algorithm in Alkhateeb et al.

[00102] Figure 12 shows the relative mean squared error (MSE) in dB of the fading coefficient,

I I

i.e.,— —— . As can be seen, the LMMSE estimator proposed in (47) is compared to the one only

I ^ I

using measurements from final stage estimation. It can be seen that the multi-stage LMMSE estimator improves the performance accuracy of the fading coefficient estimation for all algorithms.

[00103] Interestingly, the FCE algorithm has slightly worse estimation accuracy when compared to Alkhateeb et al. at medium SNR range. This is predominantly caused by the FCE algorithm having a worse PEE for the same SNR. This performance loss diminishes at high SNR due to the design of the overlapped beam patterns. For example, in the event that the FCE algorithm selects an incorrect angular range in the final stage, the next most likely sub -range will still contain information of a. Figure 12 also shows that the RACE algorithm with M max = K 2 = 9 is able to estimate the fading coefficient more accurately at medium SNR when compared to both the FCE algorithm and the algorithm in Alkhateeb et al. This is because after the initial M measurements have been made, the algorithm is more likely to spend additional measurements with beam patterns directed onto the propagation path.

[00104] Figures 13 and 14 show simulated results of PEE and average number of channel measurements over a multi-path channels with L=2 and Figures 15 and 16 show simulated results of PEE and average number of channel measurements over a multi-path channels with L=3 paths.

[00105] One observation from these graphs is that the FCE algorithm reaches an error floor at high SNR. This is mainly because the non-zero probability of two or more paths having similar magnitude and being in both the non-overlapped sub-ranges. In this scenario, the received measurement vector will be similar to one very strong path in the overlapped region. This is largely the motivation for the RACE algorithm as it permits an additional measurement to confirm the true sub-range combination corresponding to one of the propagation paths. As can be observed in these two figures, the RACE algorithm is able to seamlessly adapt to this scenario, still yielding up to a 5dB gain compared to Alkhateeb et al and converging on being almost 2.25 times faster on average. It is worth noting that this time advantage is only possible with the initial overlapped beam pattern design of the FCE algorithm. That is, the RACE algorithm still needs the initial beam pattern design of FCE to be faster than Alkhateeb et al.

[00106] Finally, similarly to Alkhateeb et al, it can also be seen that the performance of RACE increases slightly as the number of paths increases from L = 1 to L = 3. This is understandable since the chance of detecting one of multiple paths is greater than the chance of detecting a single one.

Selection of number of sub-ranges in each stage, K:

[00107] In general, by using a smaller value of K, a faster channel estimation can be achieved at a greater energy efficiency and a more computationally efficient maximum likelihood detection. The main drawback of setting a smaller K lies in the wider beam patterns and the resultant loss of directionality gain. From an energy efficiency point of view, this loss is outweighed by the speed advantage. However, if a peak power constraint were imposed, more directionality may be required in the early stages and this can be achieved by increasing K. Selection of K may also depend on the number of antennas being equipped at each link end. For example, it is generally accepted that a mmWave mobile link will have more antennas at a base station (BS) than at the mobile station (MS). For such a general asymmetric system, it is possible to use different K in each stage and at each transceiver end. This grants flexibility to achieve the same number of estimation stages for each system. Then it is only important that the product of the Ks over all stages equals to the antenna number. [00108] An alternative approach is to simply use more stages at the BS than at the MS. In this case, once the MS has reached its final stage before the transmitter, it can continue its role in the estimation procedure by utilising the already estimated AOA.

2a) Selection of M and resultant design of G^ S,M ^:

[00109] For a given number of sub-ranges K, M pairs of initial beam patterns can then be designed to span them. The use of a lower M value leads to a faster estimation of the stage, however, generally requires a higher SNR. As mentioned above, there exist many combinations of M ) and fl¾. M) that can be used for a given M and K. Effective design should consider the resulting generator matrix and ensure that all columns have the same minimum Euclidean distance. In addition to this, each column of G (S,M) should have the same energy. The equal-power criterion for each row/column is not as important as the Euclidean distance property, however, may simplify any power requirements by proving uniform transmit/receive power within a stage.

2b) Selection of M and design of B^ S ' M) and B^ S ' M) :

[00110] Given that K in each stage has been selected for an arbitrary antenna number N, it is possible to find the optimal design of the beam pattern description matrices B ' M ^ and B R S,M To include the asymmetric case where K is different at the transmitter and receiver, assume K T and K R denote the number of sub-ranges at the transmitter and receiver, respectively. The optimal design of B ' M ^ and B R S,M ^ for an arbitrary K T , K R and M is found based on an analysis of PEE. With this result, it is possible to illustrate a performance trade-off for selecting larger/smaller M.

[00111] Denote the optimal beam pattern description matrices by B ' M ^ and B R S,M ^ at the transmitter and receiver, respectively, and thus provide:

s.t, diag(B T (B T ) H ) = 1, d\ ag {B R {B R ) H )

diagCCB^Br) = £ l, diag((B ff )¾ = by recalling that G^ S,M ^ = Β γ ' O B R and where 1 is an all-1 vector. The constraints imposed on B ' M ^ and B R ' M ^ correspond to the rows and columns of the matrices having a constant norm. The row and column normalization are imposed, respectively, to: 1) Keep a constant transmit power for each measurement of a given stage. It can be achieved when the norms of all rows in B ' M ^ are the same i.e., diag(B T (B T ) H ) = 1. Similarly, to receive with unit gain, we also have and diag((B R ) H B R ) =— 1.

K

2) Keep the total energy collected by different AOD/AOA sub-range combinations across all the measurements the same. This ensures the fairness of estimation success in all sub-range combinations. It can be achieved when the norms of all columns in B ' M ^ and B R ' M ^ are the same, e.g., d ag((B T ) H B T ) = l, diag((B R ) H B R ) = l .

[00112] Since the square root term is independent of B ' M ^ and B R ' M ^ for a fixed K T and K R , equation (50) can be rewritten as

[00113] For channels with a single dominant path, the vectors and v only contain a single non-zero element. More specifically, G^ s,M ^ (v^— v ) can be simplified to the subtraction of two columns of G^ S,M Since the channel estimation error is dominated by the columns of G^ S,M ^ with the smallest Euclidean distance, (51) can be rewritten as,

(B (S ' M) B (S ' M) ) =

( T 0 pt ' a

by recalling that g^' represents the th column of the matrix G^- S,M In order to find a solution for Β γ '^, Β^, β[ Μ,Κ) = [Β^, Β^ · ·· } is then defined as the set of all possible M χ K binarized beam pattern description matrices. In order to approximate the normalization constraints, the columns of all matrices in this set are first normalized followed by the normalization of the rows. This normalized set is denoted by β ( - Μ · κ = · ·· } An offline search within this set can then be carried out to achieve the best solution B ' M ^ and B R ' M ^ i.e., by comparing all combinatorial pairs of B ( ' M) £ β · κ τ ) , B R S,M) £ β · κ It should be noted that there might be multiple solutions to the optimal beam pattern description matrices B ' M ^ and B R S ' M ^, which simply have different column permutations but result in the same performance.

[00114] For larger M and K, the complexity of the above search based approach can be reduced by further constraining the set β^ Μ,Κ For example, to keep the directivity gains similar in all beam patterns in each stage, the number of non-zero sub-ranges at the transmitter and receiver can be fixed to W T and W R , respectively. To impose this constraint, reduce β^ Μ,Κ ^ is reduced to the set of all M x K binarized beam patterns that have row weights of W T at the transmitter and W R at the receiver. Here, row weight refers to the number of non-zero entries in each row of a matrix. For the example beam patterns given in (11), a row weight of W R = W T = 2 is provided. In general, transmitting/measuring on a greater number of subranges in each measurement will lead to a lower minimum number of measurements required for estimation. This is because all sub-range combinations can be spanned in a fewer number measurements. This choice, however, will lead to less directional beam patterns, and therefore a loss of directivity gain.

[00115] From the results of simulations, it can be seen that for a fixed K T and K R , adding additional measurements can increase the spatial separation of the columns in the generator matrix. Based on analysis, this in turn decreases the probability that one path is mistakenly estimated as another, therefore improving the overall estimation performance. On the other hand, using a larger M will require a greater number of channel measurements in each stage. If the FCE algorithm is used, the value of M can be increased to improve the estimation performance. If the RACE algorithm is employed, it is generally desired to set M relatively low, resulting in a fast estimation that is then confirmed, if needed, by additional measurements. It can also be seen that, when larger values of K T and K R are employed with a similar M, the average minimum Euclidean distances are found to be smaller. This is because these parameters correspond to the estimation of a larger number of sub-range combinations in each stage. Although the energy required for estimation in a single stage may need to be increased for a fixed PEE, the number of over all stages would be less, due to the increased values of K.

3) Selection of M may and Γ:

[00116] Finally, the selection of the maximum number of measurements per stage M max should be selected based upon any maximum timing constraints. Increasing M max will significantly increase the energy efficiency at medium to high SNR regime, although the average number of measurements per stage will still converge to M at high SNR.

[00117] For a fading channel with Gaussian distributed channel coefficients, the selection of Γ is not as important as M max . This is due to the non-zero probability of an outage condition. In general, increasing Γ will reduce the PEE by increasing the average number of measurements and therefore expending more energy. In contrast, at high SNR, increasing M max will allow more measurements to be carried out in the unlikely event that it needs them. Therefore the later uses less average energy.

[00118] It will be appreciated that the above described invention provides significant methods of estimating channel parameters in a wireless communication system.

[00119] It can be seen that, compared with the channel estimation algorithm in Alkhateeb et al. with the same value of K, the present invention also requires S = [log^- N] stages, but the number of measurement time slots required in each stage reduces to M, instead of K 2 . In general, this κ 2

yields a— reduction in measurement time slots. For the example of K = 3 discussed earlier with

K 2

M = 4, a—? = 225% increase in estimation speed can be achieved.

[00120] Although the above description only considers transmission over a single path channel, this is intended for simplicity of algorithm description and results. It will be appreciated that the above methods can quite easily be extended to the multi-path estimation case in a similar manner to how Alkhateeb et al. carries this out. A second path (i.e., AOD, AOA and corresponding gain) can be estimated after the estimation of the first path simply by commencing the process again from the beginning. However in subsequent channel estimations the expected contribution from the already estimated path can be subtracted (therefore revealing the second path).

Interpretation

[00121] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing," "computing," "calculating," "determining", "analysing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.

[00122] In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing machine" or a "computing platform" may include one or more processors.

[00123] The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine -readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The term memory unit as used herein, if clear from the context and unless explicitly stated otherwise, also encompasses a storage system such as a disk drive unit. The processing system in some configurations may include a sound output device, and a network interface device. The memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein. Note that when the method includes several elements, e.g., several steps, no ordering of such elements is implied, unless specifically stated. The software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code.

[00124] Furthermore, a computer-readable carrier medium may form, or be included in a computer program product.

[00125] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server -user network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.

[00126] Note that while diagrams only show a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

[00127] Thus, one embodiment of each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that is for execution on one or more processors, e.g., one or more processors that are part of web server arrangement. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium, e.g., a computer program product. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.

[00128] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an example embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks. Volatile media includes dynamic memory, such as main memory. Transmission media includes coaxial cables, copper wire and fibre optics, including the wires that comprise a bus subsystem. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. For example, the term "carrier medium" shall accordingly be taken to include, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor or one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.

[00129] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (e.g., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.

[00130] Reference throughout this specification to "one embodiment", "some embodiments" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, appearances of the phrases "in one embodiment", "in some embodiments" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments. [00131] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.

[00132] In the claims below and the description herein, any one of the terms comprising, comprised of or which comprises is an open term that means including at least the elements/features that follow, but not excluding others. Thus, the term comprising, when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. For example, the scope of the expression a device comprising A and B should not be limited to devices consisting only of elements A and B. Any one of the terms including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.

[00133] It should be appreciated that in the above description of example embodiments of the disclosure, various features of the disclosure are sometimes grouped together in a single embodiment, Fig., or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claims require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this disclosure.

[00134] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the disclosure, and form different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.

[00135] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the disclosure may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.

[00136] Similarly, it is to be noticed that the term coupled, when used in the claims, should not be interpreted as being limited to direct connections only. The terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a device A coupled to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Coupled" may mean that two or more elements are either in direct physical, electrical or optical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.

[00137] Thus, while there has been described what are believed to be the best modes of the disclosure, those skilled in the art will recognise that other and further modifications may be made thereto without departing from the spirit of the disclosure, and it is intended to claim all such changes and modifications as fall within the scope of the disclosure. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present disclosure.