The present technique relates to the field of wireless communication.
A wireless communications network may include one or more base stations and one or more terminals. The one or more base stations may be part of a network of interconnected base stations, allowing the terminals to connect to a communications network (e.g. such as a mobile data (e.g. cellular) network), and each base station may communicate with (e.g. transmit downlink data to and receive uplink data from) the one or more terminals via wireless communication, employing a standard such as 5G NR, LTE, or any other wireless communication Standard. In a particular example of a wireless communications network, the terminals could be installed in moving vehicles such as aircraft.
A single base station may communicate with a plurality of terminals at any given time (e.g. a one-to-many arrangement), by adopting a suitable technology such as multiple-input-multiple-output (MIMO) technology where multiple antennas are used to support the transmitting and receiving of multiple data signals simultaneously over the same wireless communication resources. In addition, it is often the case that multiple base stations may be deployed in order to provide coverage for a larger area.
A base station may communicate with terminals on one or more beams; for example, the base station may generate a number of transmission beams to transmit data (referred to as “downlink” data) to the terminals, and may generate one or more reception beams on which data (referred to as “uplink” data) may be received from the terminals. These beams are typically directional, and may also be fairly narrow. Whilst this can improve performance, for example by increasing range and reducing interference, it may mean that the base station can only communicate with a subset of the terminals using a given beam. Moreover, the number of beams that can be employed at any given time may also be limited, for example due to regulatory and/or hardware limitations, which can further limit the number of terminals with which the base station can communicate at a given point in time.
Communication between the base station and the terminals may be performed in a scheduled manner. For example, transmission and reception of uplink data and downlink data may be performed within predetermined time slots that include downlink time slots (also referred to herein as transmission time slots) dedicated to transmission of downlink data and uplink time slots (also referred to herein as reception time slots) dedicated to reception of uplink data. Accordingly, the base station may perform scheduling processes to determine how to allocate between the terminals the available wireless communication resources for communication between the base station and the terminals. The need for an efficient scheduling technique may become even greater if the available resources are limited and/or if the number or terminals is large.
The scheduling processes may allocate wireless communication resources for use during both uplink and downlink communication—e.g. wireless communication resources to be used by the base station to transmit downlink data (downlink resources) and wireless communication resources to be used by the terminals to transmit uplink data (uplink resources). Thus, there may be a need to inform the terminals of the uplink resources they have been allocated. However, the base station may be arranged to transmit this uplink resource information as part of the downlink data, using the downlink resources allocated for downlink communication. This can, potentially, limit which terminals can receive the uplink resource information in a given downlink time slot, which in turn may limit which terminals can be allocated uplink resources. This can lead to an unfair distribution of uplink resources.
In one example of the present technique, there is provided a base station for wireless communication with a plurality of terminals, comprising: wireless communication circuitry configured, during transmission time slots allocated for transmission, to transmit downlink data for reception by one or more of the terminals, and further configured, during reception time slots allocated for reception, to receive uplink data transmitted by one or more of the terminals; downlink scheduling circuitry configured to determine, for each transmission time slot, one or more downlink data allocations, each downlink data allocation identifying a terminal to which downlink data is to be transmitted, and wireless communication resources to be used by the wireless communication circuitry during the transmission time slot to transmit the downlink data to the identified terminal; uplink scheduling circuitry configured to operate ahead of the downlink scheduling circuitry to determine a candidate list of uplink data allocations identifying, for one or more reception time slots subsequent to a current transmission time slot being considered by the downlink scheduling circuitry, terminals which may be allocated to transmit uplink data within the one or more reception time slots and, for each identified terminal, the wireless communication resources to be used for that identified terminal; and control information generation circuitry to generate, for transmission in a given transmission time slot, downlink control information identifying one or more downlink data allocations, and uplink control information identifying one or more uplink data allocations selected from the candidate list, wherein the control information generation circuitry is arranged to select each uplink data allocation from the candidate list so as to seek to ensure that the terminal associated with each selected uplink data allocation will be able to receive the uplink control information, given the wireless communication resources to be employed by the wireless communication circuitry during the given transmission time slot.
In another example of the present technique, there is provided a method of operating a base station for wireless communication with a plurality of terminals, comprising: during transmission time slots allocated for transmission, transmitting downlink data for reception by one or more of the terminals; during reception time slots allocated for reception, receiving uplink data transmitted by one or more of the terminals; determining for each transmission time slot, using downlink scheduling circuitry, one or more downlink data allocations, each downlink data allocation identifying a terminal to which downlink data is to be transmitted, and wireless communication resources to be used during the transmission time slot to transmit the downlink data to the identified terminal; determining, using uplink scheduling circuitry operating ahead of the downlink scheduling circuitry, a candidate list of uplink data allocations identifying, for one or more reception time slots subsequent to a current transmission time slot being considered by the downlink scheduling circuitry, terminals which may be allocated to transmit uplink data within the one or more reception time slots and, for each identified terminal, the wireless communication resources to be used for that identified terminal; and generating, for transmission in a given transmission time slot, downlink control information identifying one or more downlink data allocations, and uplink control information identifying one or more uplink data allocations selected from the candidate list, wherein each uplink data allocation is selected from the candidate list so as to seek to ensure that the terminal associated with each selected uplink data allocation will be able to receive the uplink control information, given the wireless communication resources to be employed during the given transmission time slot.
In a still further example of the present technique, there is provided a base station for wireless communication with a plurality of terminals, comprising: wireless communication means for transmitting, during transmission time slots allocated for transmission, downlink data for reception by one or more of the terminals, and further for receiving, during reception time slots allocated for reception, uplink data transmitted by one or more of the terminals; downlink scheduling means for determining, for each transmission time slot, one or more downlink data allocations, each downlink data allocation identifying a terminal to which downlink data is to be transmitted, and wireless communication resources to be used by the wireless communication means during the transmission time slot to transmit the downlink data to the identified terminal; uplink scheduling means for operating ahead of the downlink scheduling means and for determining a candidate list of uplink data allocations identifying, for one or more reception time slots subsequent to a current transmission time slot being considered by the downlink scheduling means, terminals which may be allocated to transmit uplink data within the one or more reception time slots and, for each identified terminal, the wireless communication resources to be used for that identified terminal; and control information generation means for generating, for transmission in a given transmission time slot, downlink control information identifying one or more downlink data allocations, and uplink control information identifying one or more uplink data allocations selected from the candidate list, wherein the control information generation means is arranged to select each uplink data allocation from the candidate list so as to seek to ensure that the terminal associated with each selected uplink data allocation will be able to receive the uplink control information, given the wireless communication resources to be employed by the wireless communication means during the given transmission time slot.
The present technique will be described further, by way of illustration only, with reference to examples thereof as illustrated in the accompanying drawings, in which:
Before discussing example implementations with reference to the accompanying figures, the following description of example implementations and associated advantages is provided.
In accordance with one example configuration, there is provided a base station for wireless communication with a plurality of terminals (e.g. items of user equipment). The base station comprises wireless communication circuitry configured, during transmission time slots allocated for transmission, to transmit downlink data for reception by one or more of the terminals, and further configured, during reception time slots allocated for reception, to receive uplink data transmitted by one or more of the terminals. For example, the wireless communication circuitry may be constrained to only transmit data during transmission time slots, so that it is available to receive uplink data at other times (e.g. during reception time slots).
The base station also comprises downlink scheduling circuitry configured to determine, for each transmission time slot, one or more downlink data allocations, each downlink data allocation identifying a terminal to which downlink data is to be transmitted, and wireless communication resources to be used by the wireless communication circuitry during the transmission time slot to transmit the downlink data to the identified terminal. The downlink scheduling circuitry may operate a number of time slots ahead of the time slot being handled by the wireless communication circuitry so that all of the required information needed in association with a given time slot can be computed before that given time slot is handled by the wireless communication circuitry.
The wireless communication resources to be used in any particular time slot can be specified in a variety of ways, and may for example include an identification of a beam to be used, one or more resource blocks or resource block groups to be used, a modulation and coding scheme to be used, a transmit power to be used, etc.
The base station additionally comprises uplink scheduling circuitry configured to operate ahead of the downlink scheduling circuitry to determine a candidate list of uplink data allocations identifying, for one or more reception time slots subsequent to a current transmission time slot being considered by the downlink scheduling circuitry, terminals which may be allocated to transmit uplink data within the one or more reception time slots and, for each identified terminal, the wireless communication resources to be used for that identified terminal. The uplink scheduling circuitry may be separate from the downlink scheduling circuitry, or the uplink and downlink scheduling processes performed by those entities may be separate processes running on the same circuitry. Since the uplink scheduling circuitry operates ahead of the downlink scheduling circuitry, the candidate list of uplink data allocations is not constrained by any scheduling decisions that may be made by the downlink scheduling circuitry, but instead provides a candidate pool of uplink data allocations that can seek to be used.
As noted earlier, whether a particular uplink data allocation can actually be used will be dependent on whether it is possible to notify the terminal associated with that particular uplink data allocation that it has been allocated that particular uplink data allocation, and such notification needs to occur by transmission of associated uplink control information within a transmission time slot occurring before the reception time slot associated with that particular uplink data allocation.
In accordance with the techniques described herein, control information generation circuitry is arranged to generate, for transmission in a given transmission time slot, downlink control information and uplink control information. In this application, “downlink control information” (DCI) comprises information generated by the control information generation circuitry of the base station, which identifies one or more downlink data allocations, and “uplink control information” (UCI) comprises information generated by the control information generation circuitry of the base station, which identifies one or more uplink data allocations selected from the candidate list. The control information generation circuitry is arranged to select each uplink data allocation from the candidate list so as to seek to ensure that the terminal associated with each selected uplink data allocation will be able to receive the uplink control information, given the wireless communication resources to be employed by the wireless communication circuitry during the given transmission time slot.
Since the uplink scheduling circuitry is operating ahead of the downlink scheduling circuitry, and determines a candidate list of uplink data allocations, then for any given transmission time slot being considered by the control information generation circuitry, it has been found that the above technique provides significantly improved flexibility when seeking to utilise the uplink data allocations determined by the uplink scheduling circuitry.
In particular, prior to the present technique it would typically have been considered appropriate to determine the downlink data allocations for a given transmission time slot and then cause the uplink scheduling circuitry to perform an uplink scheduling operation in order to seek to identify suitable uplink data allocations that can be communicated in that given transmission time slot, constrained by knowledge of the wireless communication resources (for example the beam) identified for each downlink data allocation for that given transmission time slot. However, the inventors of the present technique realised that such an approach can in some instances lead to significant distortion in the amount of uplink data allocations provided for each of the terminals, even for example if the uplink scheduling circuitry itself is applying an algorithm that seeks to share uplink data allocations uniformly amongst the terminals. In particular, since the uplink scheduling circuitry in accordance with such a prior art technique would perform the uplink scheduling operation separately for each given transmission time slot, it has been found that in some instances a particular terminal could be systematically starved of uplink resources, due to the fact that in the vast majority of instances where that particular terminal was selected by the uplink scheduling circuitry, there were no suitable wireless communication resources available in the given transmission time slot to notify that particular terminal of its uplink data allocation, and hence that uplink data allocation would not be utilised.
In accordance with the present technique this problem is alleviated, since the uplink scheduling circuitry is not constrained to perform it scheduling operation once per transmission time slot, nor is it constrained by the downlink data allocations that are determined for any particular transmission time slot. Instead, the control information generation circuitry can reference the same candidate list of uplink data allocations when considering each of multiple given transmission time slots, hence improving the likelihood that one of those given transmission time slots will have suitable wireless communication resources allocated for it to allow an uplink data allocation in the candidate list to be notified to the relevant terminal by the provision of corresponding uplink control information in that given transmission time slot.
In one example implementation, the base station further comprises antenna circuitry that is operated by the wireless communication circuitry to provide beams selected from a set of available beams and, for each terminal identified by a data allocation, the wireless communication resources indicated by that data allocation comprise at least a selected beam to be used for communication with the identified terminal.
The beams can take a variety of forms, but in one example implementation the beams in the set of beams are directional beams, and for any particular selected beam the terminals able to use that selected beam will be dependent on locations of those terminals. Whilst the directional beams can take a variety of different forms, they will often be relatively narrow beams, as the use of narrow beams can reduce the likelihood of interference with other beams being used, and can also provide other benefits, such as increasing range of transmission.
However, it should be noted that there could be situations where wider beams are used within one or more time slots, at least during certain periods of time. For example, if a particular terminal has not yet reported a preferred narrow beam to be used, the base station may seek to communicate with that particular terminal using a wider beam, for example to assist in establishing an initial connection to that terminal. In due course, once the terminal has established a connection to the base station, the terminal may for example, if instructed, indicate a preferred narrow beam to use, with that narrow beam then being used thereafter for communication between the base station and that particular terminal.
In one example implementation, the base station may be constrained to not exceed a defined maximum number of beams in any given transmission time slot. For example, regulatory constraints may be imposed on systems that limit the number of beams and/or the width of beams that can be used during downlink communication from the base station, and in some instances there may additionally be some hardware constraints that also limit the beams used for downlink communication. With regard to uplink communication, it is often the case that regulatory authorities do not place any limitations on the uplink beams used, but there could still be hardware limitations that constrain the number of beams and/or the width of the beams used for uplink communication.
The frequency with which beams can be changed may vary dependent on implementation, but in one example implementation the wireless communication circuitry is able to change the selected beams between each transmission time slot and between each reception time slot, and hence the beams used may change on time slot boundaries.
In one example implementation, the wireless communication resources to be employed by the wireless communication circuitry during the given transmission time slot are the wireless communication resources used for each downlink data allocation determined for that transmission time slot.
Whilst if desired, the downlink data allocations identified by the downlink control information transmitted in the given transmission time slot could be the downlink data allocations to be used for a transmission time slot subsequent to the given transmission time slot, in one example implementation the one or more downlink data allocations identified by the downlink control information transmitted in the given transmission time slot comprise each downlink data allocation for that given transmission time slot. Hence, the downlink data allocations in that example implementation apply to the given transmission time slot in which those downlink data allocations are identified by the downlink control information. In contrast, the one or more uplink data allocations identified by the uplink control information will, in one example implementation, relate to one or more future reception time slots occurring subsequent to the given transmission time slot. Hence, the uplink data allocations are reported in advance, allowing the associated terminals to make preparations to use those uplink data allocations in due course during the relevant reception time slot.
In one example implementation, the transmission time slots and reception time slots are organised into frames, each frame comprising multiple transmission time slots and one or more reception time slots. It is typically the case that wireless communications are downlink centric, which means that more data is transmitted in the downlink direction than in the uplink direction. To accommodate downlink centric communications systems more transmission/downlink slots are usually provided in a frame than reception/uplink slots. However, in one example implementation, there will still be multiple reception time slots in each frame even though there will be more transmission time slots in each frame.
In one example implementation, the uplink scheduling circuitry is arranged to compute the candidate list of uplink data allocations for each reception time slot of a given frame ahead of the downlink scheduling circuitry computing the downlink data allocations for any transmission time slot of the given frame. Hence, in such an example implementation, the candidate list of uplink data allocations can be computed once per frame, and then referred to by the control information generation circuitry when considering each transmission time slot within that frame.
In one example implementation, the uplink scheduling circuitry may be arranged to compute the candidate list of uplink data allocations sequentially for each reception time slot of the given frame, but alternatively could be arranged to compute the candidate list of uplink data allocations for all reception time slots of the given frame in parallel.
In one example implementation, the downlink scheduling circuitry is arranged to perform a separate scheduling operation for each transmission time slot of the frame in order to determine the one or more downlink data allocations for that transmission time slot. Hence, in one example implementation it can be seen that the downlink scheduling circuitry performs a downlink scheduling operation separately for each transmission time slot. However, in contrast the uplink scheduling circuitry can be arranged to compute the candidate list of uplink data allocations once per frame, such that the candidate list of uplink data allocations for each reception time slot is recomputed for each frame.
The manner in which the frame is organised to provide the required transmission time slots and reception time slots can vary dependent on implementation, but in one example implementation each frame comprises a sequence of transmission time slots preceding a sequence of reception time slots. In one particular example implementation, there may be a reserved/special slot that separates the sequence of transmission time slots from the subsequent sequence of reception time slots, this allowing time for the base station and the terminals (items of user equipment) to reconfigure their operation from transmission to reception.
In one example implementation, the downlink scheduling circuitry is arranged to employ a downlink scheduling algorithm aimed at sharing the downlink data allocations amongst the plurality of terminals in a defined way. Similarly, the uplink scheduling circuitry may be arranged to employ an uplink scheduling algorithm aimed at sharing the uplink data allocations amongst the plurality of terminals in a defined way. The defined way in which the allocations are to be shared can vary dependent on implementation, but in one example implementation the scheduling algorithms are chosen so as to seek to spread the allocations equally amongst the terminals. In one particular example implementation, each of the downlink scheduling circuitry and the uplink scheduling circuitry is arranged to employ a proportional-fair scheduling (PFS) algorithm.
As mentioned earlier, the wireless communication resources can take a variety of forms, but in one example implementation will identify at least one or more beams to be used for communication. The control information generation circuitry may then be arranged, for each downlink data allocation determined by the downlink scheduling circuitry for the given transmission time slot, to identify the beam specified by the wireless communication resources of that downlink data allocation, to select, if available, one or more uplink data allocations in the candidate list that also employ the beam identified for that downlink data allocation, and to generate the uplink control information for transmission in the given transmission time slot so as to identify each selected uplink data allocation. As noted earlier, since the candidate list is generated ahead of the actions of the downlink scheduling circuitry in respect of a particular frame, and the operation of the uplink scheduling circuitry is unconstrained by the decisions made by the downlink scheduling circuitry for any particular transmission time slot, the candidate list can provide an enhanced pool of potential uplink data allocations that can be referred to by the control information generation circuitry multiple times, as it processes each given transmission time slot within the frame, and this can significantly improve the likelihood that suitable wireless communication resources used in one of the transmission time slots of the frame can be identified for communicating uplink control information to the terminals associated with the uplink data allocations in the candidate list. This in turn can significantly improve the likelihood that the uplink data allocations will be spread amongst the terminals in the manner intended by the scheduling algorithm used by the uplink scheduling circuitry.
In one example implementation, once an uplink data allocation has been selected form the candidate list, that uplink data allocation is prevented from reselection. This avoids reselection of an uplink data allocation for which a suitable transmission time slot in which to transmit the associated uplink control information has already been identified.
In one example implementation, the control information generation circuitry is arranged to constrain the uplink data allocations selected from the candidate list so that the uplink control information generated for transmission in the given transmission time slot identifies no more than one uplink data allocation for any given terminal. This avoids any given terminal (item of UE equipment) from spending too much time seeking to decode control information blocks. Each terminal does not typically know in advance how long (e.g. in terms of resource blocks and OFDM symbols) the control information is, nor does it know where exactly to look in the control allocation region, so typically must perform a series of blind decodes to seek to detect the control information.
The techniques described herein can be used in a wide variety of different wireless communication systems, but in one example implementation, the base station is arranged for deployment in an air-to-ground (ATG) system, and each of the plurality of terminals are deployed in an aircraft.
Particular example implementations will now be described with reference to the figures.
The transmission beams and reception beams are directional, so that they are only visible to terminals in a given direction (e.g. within a given angular range, the width of the range being dependent on how broad the beam is)—e.g. a transmission beam is considered to be “visible” to a given terminal if data transmitted using the transmission beam can be received by the terminal's antenna circuitry, and a reception beam is considered to be “visible” to the given terminal if the base station can receive data, transmitted by the terminal, on the reception beam. The number of beams which can be used at any given time by the antenna array may be limited based on hardware constraints associated with the specific circuitry of the base station 100, and/or due to certain regulatory constraints—for example, some jurisdictions may require that the number of transmission beams (downlink beams) in operation at any given time be limited to a certain number. In some cases, regulatory constraints may limit the number of beams further (e.g. to a lower number) than the hardware constraints.
The antenna array 102 is made up of a plurality of antenna elements, and the base station 100 may further comprise beamforming circuitry (not shown) to generate the one or more reception and transmission beams, and beam steering circuitry (not shown) to steer (e.g. rotate) the beams.
As will be discussed in more detail below, the wireless communication circuitry 104 controls the antenna array 102 to communicate with the plurality of terminals in predetermined time slots. In particular, the antenna array transmits downlink data to the one or more terminals in transmission time slots (also referred to as downlink slots or transmission slots) and does not transmit data during reception time slots (also referred to as uplink slots or reception slots), which are instead reserved for reception of information transmitted by the one or more terminals.
Accordingly, since both the number of beams that can operate at a given time and the time slots during which the base station can transmit or receive information are limited, there is a need to determine a schedule for when each of the plurality of terminals will transmit and receive data, and to determine the wireless communication resources (e.g. including which beam) to be employed for communication with each terminal. This is particularly the case when there are a large number of terminals in communication with a single base station, especially if these terminals are spread out such that they cannot all be reached by a limited number of beams.
Hence, the base station 100 of
The downlink data allocations and the uplink data allocations are communicated to the terminals in the form of control information—in particular, the control information includes downlink control information (DCI) indicating the downlink data allocations and uplink control information (UCI) indicating the uplink data allocations. The control information—including both the DCI and the UCI— is generated by control information generation circuitry 110 and transmitted by the antenna array as part of the downlink data.
As noted above, the base station 100 is configured to communicate with the plurality of terminals in predetermined transmission time slots (downlink slots) and reception time slots (uplink slots).
In the example of
As shown in
Different RBGs 208 within a single slot can be allocated for communication with different terminals if desired, and the wireless communication resources identified for each data allocation will indicate the RBGs allocated. It is also possible to allocate individual RBs 210 to different terminals—in which case the wireless communication resources identified for each data allocation will indicate the relevant RBs 210 allocated. Whilst each subcarrier/OFDM symbol unit (denoted by the individual squares in the right hand side of
By using different beams, it is possible to allocate the same RBs or RBGs to multiple terminals within the same slot, with each of the terminals using a different beam. Indeed, in one example implementation, when making data allocations, all of the useable RBGs for a downlink data allocation or an uplink data allocation are allocated to the identified terminal for that data allocation, and the use of different beams allows more than one terminal to be communicated with in a particular slot.
As discussed above, the base station 100 may employ multiple beams, each of which is directional (e.g. covers a limited angular range) to communicate with terminals in different directions at the same time.
However, since the number of beams that can be used by the base station 100 at any given time is limited, the base station 100 may not be able to communicate with all of the terminals in the area at a given time.
In addition, for some of the terminals 300, there may be restrictions in terms of which time slots can be used for uplink communication between those terminals and the base station. For example, the terminal identified in
Hence, in order to maintain a fair distribution of available communication resources between all of the terminals 300 despite these constraints, it is advantageous for downlink scheduling circuitry and uplink scheduling circuitry to be provided, to perform corresponding downlink and uplink scheduling processes.
At step 405, an uplink priority list is updated, this list being used to determine the order in which the terminals should be considered by the uplink scheduling circuitry. The uplink priority list is updated each time the uplink scheduling process is performed, and hence is updated in this example once per frame. The uplink priority list may be based on a variety of factors, and in one example implementation is based upon the average data rate experienced by each of the terminals during uplink communication in previous uplink slots.
The uplink priority list can be determined in a variety of ways. In one example implementation, it is determined using an equation that can calculate the highest priority terminal. For example, an equation such as the following, which represents a proportional fair scheduling (PFS) algorithm, may be used:
wherein:
uPFSUL the selected terminal;
du,nUL is an uplink data rate which can be achieved by terminal u in transmission time slot n;
ru,nUL is an average uplink data rate experienced by terminal u during one or more transmission time periods prior to transmission time slot n.
If U is the number of active terminals in the system, then the proportionally fair scheduling mechanism can identify a terminal that maximises the above metric. By repeated use of this equation, a list can be established at step 405 indicating the relative priority of each of the terminals. For example, after each iteration of the equation, any terminal that has already been selected (e.g. following a previous iteration of the equation in the same slot) may be excluded from the calculation, so that each iteration identifies the next highest priority terminal. An alternative approach could be to use a sorting algorithm to evaluate a function (e.g. that defined by the above equation) for all of the terminals and sort them into a priority list; the next highest priority terminal could then be popped from the top of the priority list. Whichever approach is used, in the next slot all terminals are considered again (e.g. regardless of whether or not they were selected in a previous slot).
In one example implementation, the average rate per terminal may be derived using a moving average filter. For example, each average data rate may be calculated according to the following equation, where ru,n is the average data rate (either uplink or downlink) for terminal u up until slot n, a is a constant and Au,n-1 is a value indicative of the wireless communication resources allocated to terminal u in slot n−1 (e.g. this could be the number of bytes allocated during slot n−1), noting that the value of A could be zero if no resources were allocated to terminal u in slot n−1:
r
u,n=(1−α)ru,n-1+αAu,n-1
Once the uplink priority list has been updated, the highest priority terminal (UE) in the uplink priority list is popped/selected at step 410. For example, this could be the terminal at the top of the priority list. At step 415 it is then determined whether all terminals have been considered, which will for example be the case if when performing step 410 it was determined that there were no more terminals to select.
If there are no more terminals to consider, then the process proceeds to step 435, where the uplink scheduling process ends. However, assuming the currently selected terminal has not yet been considered, the process proceeds to step 420, where it is determined whether there are any suitable wireless communication resources (e.g. beams, RBGs, etc.) available for allocation to the selected terminal. If there are resources available, then the process proceeds to step 425 where a downlink data allocation is determined for that terminal by allocating wireless communication resources (including, for example, a selected beam and, if appropriate, selected RBGs within the beam) to the selected terminal. The uplink data allocation so determined is then added to the candidate uplink data allocations in storage 430, and the process then returns to step 410 to consider the next highest priority terminal.
On the other hand, if at step 420 it is determined that no resources are available for allocating to the selected terminal (for example because the wireless communication resources that would be needed have already been allocated to another terminal (e.g. if another terminal using the same beam has been allocated all the RGBs) or cannot be provided given the wireless communication resources allocated to other terminals (e.g. if the maximum number of beams have already been used to earlier allocations)), step 425 is skipped and the method returns to step 410 in order to determine the next highest priority terminal.
As a result of performance of the process of
As shown in
Once the values of S and F have been determined (e.g. once they have—where necessary—been updated, either in step 456 or step 458), it is determined at step 460 whether the slot identified by S+N (e.g. a slot N slots ahead of slot S) is a downlink slot. N is a constant, and is defined such that the downlink scheduling process and the uplink scheduling process are performed a number of slots ahead of the slot in which the DCI and UCI will be transmitted. The value of N is implementation dependent, but in one example N could be set to 5.
If it is determined that slot S+N is a downlink slot (“YES”), a downlink scheduling process (also referred to as a DL scheduling preparation) 462 is performed by the downlink scheduling circuitry of the base station to determine the downlink data allocations (e.g. identifying terminals to which downlink data is to be transmitted during slot S+N and wireless communication resources to be used by the base station to transmit the downlink data) for slot S+N. The downlink scheduling process 462 comprises a step 464 of updating a downlink priority list which is used to determine the order in which the terminals should be considered by the downlink scheduling circuitry. The downlink priority list is updated each time the downlink scheduling process 462 is performed (i.e. once per downlink data slot), and may be updated based on, for example, the average data rate experienced by each of the terminals during downlink communication in previous downlink slots. In one example implementation, step 464 can be performed in an analogous manner to step 405 of the earlier described
Once the downlink priority list has been updated, the highest priority terminal (UE) in the downlink priority list is popped/selected at step 466. For example, this could be the terminal at the top of the priority list. Then, at step 468, it is determined whether all terminals have been considered, which will for example be the case if when performing step 466 it was determined that there were no more terminals to pop.
If there are no more terminals to consider (“YES”), the downlink scheduling process ends, and the method proceeds to the compute UCI step 478 (discussed below in more detail with reference to
As noted above, once all of the terminals have been considered in the downlink scheduling process 462—e.g. once the result of step 468 is “YES”—the process proceeds to step 478 where the uplink control information (UCI) computation is performed. In particular, the control information generation circuitry 110 is arranged to generate, for transmission in a given transmission time slot, in the example shown in
The control information generation circuitry 110 is also arranged to perform at step 478 the UCI computation step to determine the uplink control information to be provided in transmission slot S+N. As shown in
The process of computing the uplink control information at step 478 will be discussed in more detail later with reference to
From
Once step 478 has been performed, or if the no path is followed from the earlier step 460 because it is determined that slot S+N is not a downlink slot (and hence no scheduling operation needs to be performed), the process proceeds to step 484. Here the slot S is considered (i.e. the actual current slot being utilised by the wireless communication circuitry 104 and associated antenna array 102). If slot S is determined to be a downlink slot at step 484, then the process proceeds to step 486 where the UCI and DCI information is transmitted that has previously been computed for inclusion in slot S. In one example implementation this will include the DCI for slot S and UCI for one or more of the subsequent uplink slots of the frame. This control information is typically the first data transmitted in a given downlink slot, and in one particular example occupies the first few OFDM symbols. In one example implementation, any terminal that is able to receive the downlink transmission is arranged to scan the first few OFDM symbols to determine whether any DCI or UCI information has been included for it.
At step 488, a Physical Downlink Shared Channel (PDSCH) is generated for the transmission slot S, to prepare the data that is to be transmitted to each of the terminals identified by the earlier computed downlink data allocations 474 for slot S, using the specific wireless communication resources specified for each downlink data allocation. This generated PDSCH is then transmitted at step 490, causing the relevant data to be transmitted to each of the terminals identified by the downlink data allocations for the transmission slot S.
If at step 484 it is determined that slot S is an uplink slot, then the process proceeds to step 492 where the base station prepares itself for the reception of uplink data. As shown schematically by the dotted box entitled “uplink transmission”, steps will also be undertaken by a terminal that has previously received uplink control information in an earlier transmission slot of the frame identifying that it has been allocated wireless communication resources to transmit data in the uplink slot S. In particular, the terminal will generate at step 494 a Physical Uplink Shared Channel (PUSCH) identifying the data to be transmitted, using the specific wireless communication resources specified for the associated uplink data allocation. This generated PUSCH is then transmitted at step 496, causing the relevant data to be transmitted from the terminal to the base station. Steps 494 and 496 will be repeated for each terminal that has been allocated an uplink data allocation in the uplink slot S, as indicated by UCI information received by that terminal in an earlier transmission slot of the frame.
At step 506, a parameter d is initialised to 0, and then at step 508 that parameter d is incremented by 1. At step 510 it is determined whether the parameter d is greater than D. If so, this means that it is not possible to include any more uplink control information in the current transmission slot, and the process hence proceeds to step 526 where it is determined whether the current transmission slot being considered is the last DCI bearing slot in the current frame. If not, the process merely ends at step 530, but if it is, then at step 528 (and prior to proceeding to step 530) all of the unused terminals identified in the candidate list of uplink data allocations 430 are removed, hence effectively clearing the candidate uplink data allocation list. As will be apparent from the earlier discussion, this candidate uplink data allocation list will be recomputed for the next frame.
Provided the parameter d is less than or equal to D the process proceeds to step 512, where it is determined whether any of the available candidate uplink data allocations in the list 430 employ the same beam as identified by the downlink control information specified for downlink data allocation d. If not, then the process merely returns to step 508, where the parameter d is incremented before proceeding to step 510.
If at step 512 it is determined that there is at least one of the candidate uplink data allocations that uses the same beam as identified by the downlink control information specified for downlink data allocation d, then the process proceeds to step 514 where a first terminal from the set of terminals that use the same beam is selected. At step 516 it is then determined whether an uplink data allocation has already been indicated for the same terminal in the currently considered transmission time slot. If it has, then it will not be allocated again at this point, and instead the process proceeds to step 518, where it is determined whether all of the terminals from the set of terminals that use the same beam as identified by the downlink control information specified for downlink data allocation d have been considered. If not, then another terminal from the set is selected at step 520, and the process returns to step 516. Otherwise, the process proceeds from step 518 back to step 508, where the parameter d is incremented.
When at step 516 it is determined that an uplink data allocation has not already been assigned for the selected terminal within the current transmission slot, then at step 522 that terminal is marked as to be scheduled, at which point it is either removed from the candidate list, or is marked in the candidate list as already being scheduled, and hence not to be considered again when determining uplink data allocations to be indicated in the current frame. At step 524, the UCI is determined for the terminal, and the process then proceeds to step 518.
It should be noted that whilst in principle the path from step 520 back to 516 can proceed until all of the terminals in the set of terminals that use the same beam have been considered, in one example implementation there may be a limit on how many terminals can be scheduled on the same beam for uplink communication. This limit may be due to hardware constraints or it may be due to channel conditions. For example, since power is shared across the downlink terminals, it may be desired to limit the number of terminals that can simultaneously be transmitted to in order to ensure sufficient link quality.
With regard to the generation of the candidate list of uplink data allocations, this actually occurs an entire frame ahead of any scheduling being performed by the downlink scheduling operation, which gives significant flexibility in how that computation is performed. For instance, as shown in
The technique described herein allows wireless communication resources to be shared amongst the terminals more fairly, as shown by the graph in
It should be noted that the bracketed term provided in the table of
It will be appreciated that the techniques described herein provide a particularly efficient mechanism for ensuring that uplink scheduling can be performed in a fair manner, allowing the available uplink resources to be spread evenly amongst the terminals.
In the present application, the words “configured to . . . ” are used to mean that an element of an apparatus has a configuration able to carry out the defined operation. In this context, a “configuration” means an arrangement or manner of interconnection of hardware or software. For example, the apparatus may have dedicated hardware which provides the defined operation, or a processor or other processing device may be programmed to perform the function. “Configured to” does not imply that the apparatus element needs to be changed in any way in order to provide the defined operation.
Although illustrative embodiments of the invention have been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various changes, additions and modifications can be effected therein by one skilled in the art without departing from the scope and spirit of the invention as defined by the appended claims. For example, various combinations of the features of the dependent claims could be made with the features of the independent claims without departing from the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2200532.6 | Jan 2022 | GB | national |