Method and apparatus for determining direction for transmission to establish wireless connections

A method in a wireless communications assembly of a first station having a plurality of antennas and configured to perform a beamforming procedure with a second station, the method comprising: controlling the plurality of antennas to simultaneously transmit, using a first sector of each of the plurality of antennas, a respective first beam including first frame data containing a first beam set identifier element identifying each of the plurality of antennas and each of the first sectors; subsequently controlling the plurality of antennas to simultaneously transmit, using a second sector of each of the plurality of antennas, a respective second beam including second frame data containing a second beam set identifier element identifying each of the plurality of antennas and each of the second sectors; and receiving, from the second station, first feedback data including one of the first beam set identifier element and the second beam set identifier element.

FIELD

The specification relates generally to wireless communications, and specifically to a method and apparatus for determining a direction for transmission to establish wireless connections.

BACKGROUND

Certain wireless communications protocols, such as those in the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards, define a variety of features, some of which may be mandatory and others of which may be optional. In order to establish connections, wireless communications devices operating under such standards may first determine a direction for transmission by performing a sector sweep. The sector sweep allows the device to transmit data over various sectors of the antenna to determine a suitable direction for transmission. For wireless communications devices containing more than one antenna, each antenna may sequentially perform a sector sweep to determine a suitable direction for transmission per antenna.

SUMMARY

An aspect of the specification provides a method in a wireless communications assembly of a first station having a plurality of antennas and configured to perform a beamforming procedure with a second station comprising: controlling the plurality of antennas to simultaneously transmit, using a first sector of each of the plurality of antennas, a respective first beam including first frame data containing a first beam set identifier element identifying each of the plurality of antennas and each of the first sectors; subsequently controlling the plurality of antennas to simultaneously transmit, using a second sector of each of the plurality of antennas, a respective second beam including second frame data containing a second beam set identifier element identifying each of the plurality of antennas and each of the second sectors; and receiving, from the second station, first feedback data including one of the first beam set identifier element and the second beam set identifier element.

DETAILED DESCRIPTION

FIG. 1depicts a wireless communications system100, including a plurality of wireless devices104(also referred to as stations104). In particular,FIG. 1illustrates a first device104-1connected with a second device104-2via a wireless link112. The first and second devices104-1and104-2may be access points such as a wireless router, a media server, a home computer, a client device configured as a soft access point and the like, or client devices, such as mobile devices such as smartphones, tablet computers and the like. More generally, the devices104-1and104-2can include any suitable combination of computing devices with wireless communication assemblies suitable for communicating with one another. Thus the wireless connection112may be established between the wireless devices104illustrated inFIG. 1, as well as any additional wireless devices (not shown) included in the system100.

In the examples discussed below the devices104of the system100each include a wireless communications assembly configured to implement a shared wireless communication standard. In the present example, the devices104of the system100are each configured to communicate according to a wireless standard selected from the IEEE 802.11 family of standards. More specifically, the devices104are each configured to communicate according to the 802.11ay enhancement to the 802.11ad standard, both of which employ carrier frequencies of around 60 GHz (also referred to as mmWave). As will be apparent to those skilled in the art, the discussion below may also be applied to a wide variety of other communication standards.

Turning now toFIG. 2, before describing the operation of the devices104to implement the capability-signaling actions mentioned above, certain components of a generic device104will be described. As will be apparent, the description of the device104below also applies to each of the devices104-1and104-2. That is, the devices104-1and104-2each include the components discussed below, though it will be understood that the particular implementation of each component may vary from device to device.

The device104includes a central processing unit (CPU), also referred to as a processor200. The processor200is interconnected with a non-transitory computer readable storage medium, such as a memory204, having stored thereon various computer readable instructions for performing various actions (e.g. streaming media to the device108). The memory204includes a suitable combination of volatile (e.g. Random Access Memory or RAM) and non-volatile memory (e.g. read only memory or ROM, Electrically Erasable Programmable Read Only Memory or EEPROM, flash memory). The processor200and the memory204each comprise one or more integrated circuits.

The device104also includes one or more input devices, and one or more output devices, generally indicated as an input/output device208. The input and output devices208serve to receive commands for controlling the operation of the device104and for presenting information, e.g. to a user of the device104. The input and output devices208therefore include any suitable combination of devices, including a keyboard, a mouse, a display, a touchscreen, a speaker, a microphone, cameras, sensors, and the like). In other embodiments, the input and output devices may be connected to the processor200via a network, or may simply be omitted.

The device104further includes a wireless communications assembly212interconnected with the processor200. The assembly212enables the device104to communicate with other computing devices. In the present example, as noted earlier, the assembly212enables such communication according to the IEEE 802.11ay standard, and thus transmits and receives data at frequencies of around 60 GHz.

The communications assembly212includes a controller216in the form of one or more integrated circuits, configured to establish and maintain communications links with other devices (e.g., links112). The controller216is also configured to process outgoing data for transmission via one or more antennas or antenna arrays, of which two example antenna arrays220-1and220-2are illustrated (e.g. a phased array of antenna elements). The controller216is also configured to receive incoming transmissions from the arrays220-1and220-2and process the transmissions for communication to the processor200. The controller216, in the present example, therefore includes a baseband processor and a transceiver (also referred to as a radio processor), which may be implemented as distinct hardware elements or integrated on a single circuit. In other embodiments, the device104may include a plurality of controllers216and corresponding antenna arrays220within the communications interface212.

Further, the controller216is configured to execute various computer-readable instructions (e.g. stored in a memory element integrated with the controller216or implemented as a discrete hardware component of the assembly212and connected with the controller216) in the form of a control application224for performing the above functions. The control application224may be implemented as a software driver deployed to the assembly212, for example via the processor200. Via the execution of the application224, the controller216is configured to operate the wireless communications assembly212to establish connections with the wireless communications assemblies of other devices104. In particular, the controller216is configured to determine a direction for transmission to such other devices.

Turning now toFIG. 3, a method300of establishing wireless connections, and particularly of performing a beamforming procedure to determine a direction for transmission to enable such establishment is depicted. The method300will be described in connection with its performance on a device104as illustrated inFIG. 2. The blocks of the method300are performed by the controller216of the communications interface212, via the execution of the application224.

Generally, the method300includes performing, by the first device104-1, a sector sweep. The sector sweep is composed of a plurality frames defined by frame data, as described further herein. The frames are transmitted by the first device104-1via beams transmitted using sectors of the antennas220. Each antenna uses a sector to transmit a beam. Collectively, the antennas each use a sector to transmit a beam set.

At block305, the controller216controls the antennas220-1and220-2to transmit a first frame of an initial sector sweep. Specifically, the antennas220-1and220-2simultaneously transmit respective first beams using a respective first sector of each of the antennas220-1and220-2. The first sectors of each of the antennas220may be selected to be directed in approximately the same direction, or to be directed substantially omnidirectionally, or may be randomly selected. Alternately, the first sectors of each of each of the antennas200may be selected based on prior wireless connection data. Note that sectors selected to be used during a simultaneous transmission of one frame need not be selected to be selected in the same combination for use during a simultaneous transmission of another frame.

FIG. 4adepicts the antennas220-1and220-2transmitting the first frame of the initial sector sweep. The controller216may select first sectors226-1and226-2of antennas220-1and220-2respectively. The controller216controls the antenna220-1to use the first sector226-1to transmit a first beam410-1. The first beam410-1includes first frame data414. Similarly, the controller216controls the antenna220-2to use the first sector226-2to transmit a first beam410-2. The first beam410-2also includes the first frame data414.

In some implementations, the first beam410-1may include a first time delay412-1to offset the first frame data414and the first beam410-2may include a respective first time delay412-2to offset the first frame data414. The first time delay412-1may be different from the first time delay412-2such that while the first beams410-1and410-2are transmitted simultaneously, the first frame data414contained within the beams410-1and410-2are transmitted with a time shift to avoid interference, and particularly interference resulting in null spaces. Further, the first time delays412may be selected such that the time shift provides sufficient diversity that the receiver in device104-2may accurately differentiate the frame data and corresponding signal strength received from each of the antennas220-1and220-2.

The first frame data414contains a first beam set identifier element416identifying each of the antennas220and each of the first sectors226. Hence the first beam set identifier element416identifies the antenna220-1and its first sector226-1, and the antenna220-2and its first sector226-2. The first frame data414may further include a countdown value418identifying the first frame of the initial sector sweep. The first frame data414may further include other elements such as a direction field, a final sweep identifier and the like.

Returning toFIG. 3, at block310, the controller216controls the antennas220-1and220-2to transmit a second frame of the initial sector sweep. Specifically, the antennas220-1and220-2simultaneously transmit respective second beams using respective second sectors of each of the antennas220-1and220-2.

FIG. 4bdepicts the antennas220-1and220-2transmitting the second frame of the initial sector sweep. The controller216may select second sectors228-1and228-2of the antennas220-1and220-2respectively. The controller216controls the antenna220-1to use the second sector228-1to transmit a second beam420-1. The second beam420-1includes second frame data424. Similarly, the controller216controls the antenna220-2to use the second sector228-2to transmit a second beam420-2. The second beam420-2also includes the second frame data424.

As with the first beams410-1and410-2, the second beam420-1may include a second time delay422-1and the second beam420-2may include a respective second time delay422-2.

The second frame data424contains a second beam set identifier element426identifying each of the antennas220and each of the second sectors228. Hence the second beam set identifier element426identifies the antenna220-1and its second sector228-1, and the antenna220-2and its second sector228-2. The second frame data424may further include a countdown value428identifying the second frame of the initial sector sweep. The second frame data424may further include other elements such as a direction field, a final sweep identifier and the like.

The controller216may subsequently control the antennas220to transmit further frames of the initial sector sweep. Specifically, the antennas220may simultaneously transmit respective further beams using respective further sectors of each of the antennas220. The further beams include further frame data containing further beam set identifier elements identifying each of the antennas220and each further sector of the frame.

Each frame of the initial sector sweep is thus defined by respective frame data. The frame data may identify the frame, for example by the beam set identifier elements identifying the set of antennas and sectors used to transmit the frame, or by the countdown value identifying the frame within the initial sector sweep.

In some implementations, the beam set identifier elements416and426are obtained from a look-up table stored in a memory of the controller216. For example, the look-up table may store combinations of antenna identifiers of each of the antennas220and sector identifiers of each of the sectors of the antennas as well as a corresponding beam set identifier element. In other implementations, the beam set identifier elements416and426are hash values generated by the controller216. For example, the controller216may apply a hash function such as a cyclic redundancy check (CRC) function, SHA-1, and the like, to generate the hash values from antenna identifiers of each of the plurality of antennas220and sector identifiers of each of the sectors226and228. In such implementations, the device104-1may store a hash table of hash values and corresponding antenna and sector combinations. Upon receiving a selection of a beam set identifier element, therefore, the controller216retrieves the corresponding antenna and sector combination via a table lookup.

More generally, the beam set identifier elements identify each of the antennas and each of the sectors used to transmit beams in the beam set for the first device104-1. In particular, a receiver, such as the second device104-2, need not be able to identify the set of antennas and sectors of a frame. Rather, the receiver may simply identify the signal strength of a particular frame based on the beam set identifier element, and transmit the beam set identifier element as feedback data to the first device104-1. The first device104-1may use the beam set identifier element to identify the antennas and sectors used to transmit the beams in the beam set, and may process the information accordingly.

In the present example, the frame data is consistent between beams sent within the same frame, that is, between beams which are transmitted simultaneously. However, it is also contemplated that the frame data may vary between beams sent within the same frame. For example, the frame data may contain a beam identifier element which identifies the particular antenna and sector used to transmit the beam. The beam identifier element, and hence the frame data, may therefore vary between antenna-sector combinations and between beams.

In some implementations, the first frame data may be transmitted in a first packet, the second frame data may be transmitted in a second packet, and each further frame data transmitted in a respective further packet. In other implementations, the first frame data, the second frame data, and the further frame data may be transmitted in a single packet. In such an implementation, the frame data may include further fields such as training field to identify frames within the packet.

Returning toFIG. 3, at block315, upon completion of the initial sector sweep, the first station104-1receives first feedback data from the second station104-2.

Referring now toFIG. 5, the first station104-1may receive a first beam510-1including first feedback data520. The first feedback data520contains a best beam set identifier element522selected from the first beam set identifier element416, the second beam set identifier element426and any further beam set identifier elements.

The best beam set identifier element522may be selected by the second station104-2based on the highest overall received signal strength, the highest received signal strength from a single antenna, or other suitable ranking criteria.

For example, the second station104-2may receive the first beam410-1and the first beam410-2. Since the first beams410-1and410-2include first time delays412-1and412-2respectively, the frame data414received by the second station104-2is received with a time shift. Specifically, the frame data414received from the first beam410-1and410-2may result in two distinguishable signal peaks, corresponding to signal strengths of the respective first beams. Hence, the second station104-2may differentiate the frame data414received from the antenna220-1and the antenna220-2.

In some implementations, the signal strengths of the frame data414from each frame may be summed to obtain an overall received signal strength. Once the overall received signal strength has been calculated for each frame, the second station104-2may select the beam set identifier element corresponding to the highest overall received signal strength as the best beam set identifier element522. In other implementations, the best beam set identifier element522may be selected based on the frame having the highest received signal strength for a single beam and corresponding antenna. Other suitable ranking criteria for selecting a best beam set identifier element522are also contemplated. The feedback data520may further include a signal-to-noise ratio (SNR) field representing the received signal strength of the selected best beam set identifier element522.

In the present example, the received signal strengths are processed by the second station104-2and the best beam set identifier element522is selected based on the resulting information. However, no further feedback on individual received signal strengths is provided to the first station104-1. In other examples, the feedback data520may further include individual antenna fields to transmit individual antenna received signal strength data to the first station104-1. In further examples, individual antenna received signal strength data may be transmitted in further wireless connection procedures, subsequent to establishing an initial wireless connection.

The first feedback data520may also contain a countdown map524identifying a received indicator for each countdown value sent in the initial sector sweep. Each countdown value418and428corresponds to a frame of the initial sector sweep, hence the countdown map524may provide additional information per frame regarding the signal received by the second device104-2.

In some implementations, the received indicators of the countdown map524may represent corresponding frames which were received by the second device104-2. In other implementations, the received indicators may represent corresponding frames which had a received signal strength above a threshold value. In further implementations, the received indicators may represent the received signal strength of each corresponding frame. Other representations of the received indicators which provide additional information per frame regarding the signal received by the second device104-2are also contemplated.

In some implementations, the second station104-2may perform a return sector sweep. Hence the first beam510-1may be transmitted by a first antenna using a first sector, and may further include a time delay512-1and frame data514. The frame data514contains a beam set identifier element516identifying each antenna and each sector of the second station104-2and a countdown value518, as well as other elements such as a direction field, a final sweep identifier and the like. The second station104-2may also simultaneously transmit a second beam510-2by a second antenna using a second sector. The second beam510-2may include a time delay512-2, the frame data514, and the feedback data520.

Returning toFIG. 3, at block320, the controller216controls the antennas220-1and220-2to transmit a first frame of a secondary sector sweep based on the first feedback data520. Specifically, the controller216may select third sectors of the antennas220-1and220-2based on the first feedback data. For example, the controller216may select the third sectors based on proximity to the sectors and antennas identified by the best beam identifier element520. Alternately, the controller216may select the third sectors based on combinations of sectors identified by beam identifier elements corresponding to received indicators in the countdown map.

The controller216then controls the antennas220-1and220-2simultaneously to transmit respective third beams using the respective third sectors of each of the antennas220-1and220-2. The third beams may each include third frame data and respective third time delays. The third frame data may contain a third beam set identifier identifying each of the antennas and each of the third sectors.

At block325, the controller216controls the antennas220-1and220-2to transmit a second frame of the secondary sector sweep based on the first feedback data520. Specifically, the controller may select fourth sectors of the antennas220-1and220-2based on the first feedback data. The controller216then controls the antennas220-1and220-2simultaneously to transmit respective fourth beams using the respective fourth sectors of each of the antennas220-1and220-2. The fourth beams may each include fourth frame data and respective fourth time delays. The fourth frame data may contain a fourth beam set identifier identifying each of the antennas and each of the fourth sectors.

The controller216may subsequently control the antennas220to transmit further frames of the secondary sector sweep. Specifically, the antennas220may simultaneously transmit respective further beams using respective further sectors of each of the antennas220. The further beams include further frame data containing further beam set identifier elements identifying each of the antennas220and each further sector of the frame.

At block330, upon completion of the secondary sector sweep, the first station104-1receives second feedback data from the second station104-2. Similar to the first feedback data520, the second feedback data contains a best beam set identifier element selected from the third beam set identifier element, the fourth beam set identifier element, and any further beam set identifier elements.

FIG. 6depicts a sequence600of transmissions exchanged between the first station104-1and the second station104-2.

At block605, the first device104-1performs an initial sector sweep as outlined above. The initial sector sweep is received by the second device104-2.

At block610, the second device104-2transmits feedback data relating to the initial sector sweep, as well as performing a return sector sweep. The feedback data and the return sector sweep are received by the first device104-1.

At block615, the first device104-1transmit feedback data relating to the return sector sweep, as well as performing a secondary sector sweep. The feedback data and the secondary sector sweep are received by the second device104-2.

At block620, the second device104-2transmits feedback data relating to the secondary sector sweep, as well as performing a return secondary sector sweep. The feedback data and return secondary sector sweep are received by the first device104-1.

In some implementations, the first device104-1and the second device104-2may continue to exchange further sector sweeps and transmit further feedback data as necessary. In such implementations, the final sector sweep may be identified using the final sweep identifier field of the frame data.

The number further sector sweeps may be limited, for example, to a set number of iterations based on the number of antennas220. Alternately, the sector sweeps iterations may be terminated when a threshold for the SNR field indicating the received signal strength of the best beam set has been reached, or other suitable criteria.

Where multiple iteration sector sweeps are employed, the controller216may select sectors based on various criteria. For example, the controller216may select the combinations of antennas and sectors to allow more combinations to be tested during multiple sweeps to receive broad feedback. Alternately, the controller216may select the combinations of antennas and sectors for the secondary sector sweeps based on feedback from previous sector sweeps, to allow for refinement of the results. Still further, where the antennas220have the capability to vary the sector size, the controller216may select with large sectors during the initial sector sweep, and select smaller sectors during the secondary and further sector sweeps to continue refining the results.

At block625, upon completion of the further sector sweeps, the first device104-1transmits feedback data relating to the final sector sweep. The feedback is received by the second device104-2.

At block630, the second device104-2transmits an acknowledgement, received by the first device104-1.