Detailed Description
The embodiment of the invention provides a technical scheme for jointly scheduling PHICH resources and PUSCH resources. In the technical scheme, a UE priority queue participating in frequency domain scheduling is determined based on a known time domain scheduling method, for each UE scheduled in the frequency domain, user level DMRS cyclic shift of the UE is determined, the starting PRB sequence number which cannot be used as PUSCH transmission of the UE is determined by combining the current PHICH resource availability of a system, then PUSCH resource allocation is carried out on the current UE according to the limiting factor, and after the PUSCH resource allocation of the current UE is completed, the corresponding PHICH resource is determined. The method allocates the PUSCH resources to the UE and allocates the PHICH resources to the UE at the same time, ensures that the PHICH resources among the UEs do not conflict, and simultaneously ensures the transmission performance of the PUSCH and the PHICH.
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
Referring to fig. 1, a flowchart of jointly scheduling PHICH resources and PUSCH resources according to an embodiment of the present invention is shown. The process is suitable for single-antenna transmission of the PUSCH, namely, the condition that virtual MU-MIMO (hereinafter referred to as intra-cell MU-MIMO) is not considered, namely, the condition that users in the same cell use the same PUSCH resource for data transmission is not considered. As shown, the process may include:
step 101, determining a user-level DMRS cyclic shift value of UE in a system. In a single-antenna transmission scenario, the same user-level DMRS cyclic shift is configured for all UEs, for example, all UEs are configured to be 0.
Step 102, performing time domain scheduling on the UE in the current system, and determining a UE priority queue participating in frequency domain scheduling.
Step 103, taking out the UE with the highest priority from the UE priority queue participating in frequency domain scheduling (the UE taken out from the head of the queue usually has the highest priority), and determining, according to the availability of the PHICH resource of the current system, the starting PRB resource location that cannot be used as PUSCH transmission of the current UE, in combination with the user-level DMRS cyclic shift of the current UE, that is, determining the PRB resource location whose PRB resource location cannot be used as the starting PRB resource in the continuous PRB resources that can be allocated to the current UE.
And step 104, distributing PUSCH resources for the current UE according to the current PUSCH availability of the system and the position of the initial PRB resource which cannot be used as the PUSCH transmission of the UE and is determined in step 103.
And 105, determining a corresponding PHICH resource according to the PUSCH resource allocation result of the current UE and the user-level DMRS cyclic shift determined in the step 101, and allocating the PHICH resource to the current UE.
Specifically, after the starting PRB position allocated to the UE and the user-level DMRS cyclic shift are determined, the PHICH resource may be allocated to the UE according to the PHICH resource calculation formula given by formula [1 ].
And 106, updating the PUCCH resources and PHICH resources available to the system, and deleting the current UE from the frequency domain scheduling UE priority queue.
Step 107, if the UE priority queue is not empty and the current system has available PUSCH resources and PHICH resources, then step 103 is carried out; otherwise, the scheduling is finished and the process is exited.
In step 103 in the flow shown in fig. 1, a process of determining, according to a situation that PHICH resources of a current system are available, a starting PRB resource location that cannot be used for PUSCH transmission of a current UE in combination with a user-level DMRS cyclic shift of the current UE may include, as shown in fig. 2:
step 201, determining the mapping relationship between the PRB resource and the PHICH resource according to the system resource configuration.
Specifically, the calculation formula [1] from PHICH resources]It can be seen that when the same user-level DMRS cyclic shift is allocated to all UEs in the system, the lowest PRB resource sequence number corresponding to PUSCH transmission
The mapping relation between the PHICH resource has the following rules:
(1) adjacent to each otherMapping to a neighboring PHICH group;
(2) at an interval of
Is/are as follows
Mapped to the same PHICH group and distinguished by orthogonal sequences.
In the LTE system, the system PHICH is configured to assume that PUSCH resources contain 50 PRBs
According to the above rules, under the current assumption of system resource configuration, when the value of user-level DMRS cyclic shift is 0,
the mapping relation to the PHICH resource is shown in fig. 3, in the diagram, each small square represents a PHICH resource, PHICH resources in each column are in a group, PHICH resources in different rows correspond to different orthogonal sequence numbers, and numbers in the squares represent PUSCH PRB resource numbers mapped to the PHICH resources. Wherein are adjacent to each other
Mapped to an adjacent PHICH group, PRB0 as shown in fig. 3 mapped to
PHICH group 0, PRB1 mapped to
PHICH group 1, and so on; at an interval of
Is/are as follows
Mapped to the same PHICH group, PRB0, PRB3, PRB6 … … as shown in FIG. 3 are mapped to the same group (PHICH group 0)。
Step 202, according to the available situation of the PHICH resource of the current system, determining the starting PRB sequence number which can not be used as the PUSCH transmission of the current UE.
Specifically, according to the mapping relationship between the PRB resources and the PHICH resources determined in step 201, the PRB number corresponding to the PHICH resource already allocated to another UE may be determined as the PRB resource location that cannot be allocated to the current UE as the starting PRB. Still taking fig. 3 as an example, assuming that PHICH resources represented by white small squares in fig. 3 are currently available PHICH resources, and PHICH resources represented by slashed small squares are PHICH resources already allocated to other UEs, for the current UE, PRB0, PRB7, PRB15, PRB24, PRB31, PRB39, and PRB48, which cannot be allocated to the current UE as a starting PRB for PUSCH transmission.
In step 104 of the flow shown in fig. 1, a process of allocating PUSCH resources for a current UE according to a current PUSCH availability of a system and a starting PRB resource location that cannot be used for PUSCH transmission of the current UE may be as shown in fig. 4, and includes:
step 401, determining available continuous PRB resource segments according to the current available PUSCH resource situation.
Specifically, for the current available PRB resources of the system, combining is performed according to the principle of PRB resource continuity, so as to obtain available continuous PRB segments. For convenience of description, in this embodiment, the obtained number of available continuous PRB segments is denoted as K, and the number of PRBs included in each available continuous PRB segment is denoted as NPRB_usable_segk(0≤k<K)。
Step 402, determining the number of PRBs that need to be allocated to the current UE according to the data volume to be transmitted by the current UE.
There are many methods for determining the number of PRBs required to be allocated to the current UE according to the amount of data to be transmitted by the UE, and the method can be roughly estimated, for example, the estimation is performed according to the average channel quality of the current UE in the whole system bandwidth, and at this time, for each available continuous PRB segment, the number of PRBs required to be allocated is the estimationThe value is obtained. The embodiment of the invention preferably adopts the method of respectively estimating the PRB number requirement of each available continuous PRB segment according to the average CQI on the PRB contained in each available continuous PRB segment, mainly considering the difference of the CQI on each PRB of the UE, obviously, the method is more accurate than the former method. Specifically, for each available continuous PRB segment, based on a CQI (Channel Quality Indicator) of the current UE on the PRBs, a corresponding MCS (Modulation and Coding Scheme) is determined according to an AMC (Adaptive Modulation Coding) algorithm, and a number N of PRBs that need to be allocated for data transmission using the MCS is calculated according to a data amount to be transmitted by the current UEPRB_need_segk(0≤k<K)。
Step 403, performing PRB pre-allocation for the current UE in each available continuous PRB segment according to the number of PRBs allocated to the current UE as needed.
In this step, for each available continuous PRB segment, the optimal resources within the continuous PRB segment may be selected by performing a sliding window operation, i.e. PRB pre-allocation within each available continuous PRB segment.
Specifically, for an available continuous PRB segment K (0 ≦ K < K), first determining the sliding window length of the available continuous PRB segment:
Lwindow_segk=min{NPRB_need_segk,NPRB_usable_segk}……[2]
assuming that the starting PRB resource set that cannot be allocated to the current UE, determined according to the availability of the PHICH resource of the current system, is Ω, the following methods may be used for different situations:
the first condition is as follows: if L iswindow_segk=NPRB_usable_segkThen it indicates that the number of PRBs contained in the currently available continuous PRB segment is less than or equal to the number of PRBs required by the current UE. For Lwindow_segk=NPRB_usable_segkThe available contiguous PRB segments, no sliding window needs to be performed. If the available continuous PRBIf the starting PRB of the segment does not belong to the set omega, all PRB resources in the available continuous PRB segment are pre-allocated resources corresponding to the available continuous PRB segment; otherwise, the remaining continuous PRB resources after removing the initial PRB in the available continuous PRB segment are used as the pre-segment resources of the available PRB continuous segment.
Case two: if L is
window_segk<N
PRB_usable_segkThen it indicates that the number of PRBs contained in the currently available continuous PRB segment is greater than the number of PRBs required by the current UE. For the
The available contiguous PRB segments, a sliding window needs to be performed. Assume that N is before the available contiguous PRB segment
PRB_usable_segk-L
window_segk+1 PRBs with N'
PRB_segkA PRB belongs to the set Ω (i.e. it cannot be the starting PRB for allocation), the number of sliding windows performed in the available consecutive PRB segments is N
PRB_usable_segk-L
window_segk+1-N′
PRB_segk. Picking the best (e.g., highest average CQI) L of the available PRB segments based on a sliding window operation
window_segkA number of contiguous PRB resources.
Further, in the above-mentioned first or second case, for each available continuous PRB segment, according to the result of PRB resource pre-allocation, if the number of PRBs selected from the result is smaller than the number of PRBs included in the available continuous PRB segment, because there is a certain difference in CQI on each PRB of the UE, at this time, it is necessary to recalculate a corresponding MCS according to the selected CQI on these PRBs according to an AMC algorithm, and further determine the data amount that can be carried by performing data transmission on these PRBs using the MCS.
In step 404, a final decision on resource allocation is made by comparing the pre-allocation results of PRB resources for each available continuous PRB segment.
The basic idea of resource allocation decision is to preferentially guarantee the QoS (Quality of Service) requirements of the UE, specifically, each resource allocation is the requirement for guaranteeing the data transmission of the UE, and on this basis, the efficiency of data transmission is improved as much as possible to improve the spectrum efficiency of the system. Based on the above principle, in the embodiments of the present invention, the priority of each pre-allocated PRB resource is determined according to the data carrying capacity and transmission efficiency of each pre-allocated PRB resource, and the pre-allocated PRB resource with the highest priority is selected as the PUSCH resource to be allocated to the current UE, specifically, the following resource allocation decision method is preferably adopted:
firstly, according to the comparison result between the data volume to be transmitted by the current UE and the data volume which can be transmitted by the pre-allocated continuous PRB in each continuous PRB segment, dividing the pre-allocation result of all PRBs into two sets S1 and S2: dividing PRB pre-allocation results with data transmission capacity not less than data transmission requirements into a set S1; the PRB pre-allocation results with data transmission capacity less than the data transmission requirement are divided into sets S2. Obviously, the result of PRB pre-allocation that meets the data transmission requirement has higher priority, i.e. the priority of the two sets is: s1> S2;
then, for the result of pre-allocation of PRBs in the set S1, since the data carrying capacity of the result satisfies the data transmission requirement, in order to ensure the transmission efficiency, the priority order of the pre-allocated PRBs may be determined by the MCS corresponding to each pre-allocated PRB in combination with the priority of the set S1. The higher the MCS, the higher the transmission efficiency, and generally the lower the number of PRBs, the higher its priority.
For each PRB pre-allocation result in the set S2, because the data carrying capacity of the PRB does not meet the data transmission requirement, in order to ensure the real-time performance of data transmission as much as possible, the priority of the set S2 may be combined, and the data carrying capacity of the pre-allocated PRB is used as a determination criterion of the priority, where the larger the data carrying capacity is, the higher the corresponding priority is.
Finally, the highest priority is selected from the PRB resource pre-allocation results of the available consecutive PRB segments in the set S1 and the set S2 as the final result of the PUSCH resource allocation.
The implementation manner of making the final decision of resource allocation is only an optimal manner by comparing the pre-allocation results of the PRB resources of the available continuous PRB segments, and if the resource allocation policies are different, if the transmission efficiency requirement is higher than the QoS requirement, the setting of the priority level is changed accordingly. In addition, according to the data transmission capability, the pre-allocated PRBs are firstly divided into different sets, only for the convenience of technical implementation, and a person skilled in the art should be able to make resource decisions in a similar manner based on the above basic ideas, for example, instead of dividing different sets, a rule for setting priorities according to the data transmission capability and the transmission efficiency is predefined, and a weight of the data transmission capability is set to be higher than a weight of the transmission efficiency.
In the method for jointly scheduling PHICH resources and PUSCH resources provided in the embodiments of the present invention, for each UE scheduled in the frequency domain, first, the user-level DMRS cyclic shift is determined, and the starting PRB number that cannot be used as PUSCH transmission for the UE is determined in accordance with the current PHICH resource availability of the system, then, PUSCH resources are allocated to the current UE according to the restriction factor, and after the PUSCH resources are allocated to the current UE, the corresponding PHICH resources are determined. The method allocates the PUSCH resources to the UE and allocates the PHICH resources to the UE at the same time, ensures that the PHICH resources among the UEs do not conflict, and simultaneously ensures the transmission performance of the PUSCH and the PHICH.
Based on the same technical concept, the embodiment of the present invention further provides a resource scheduling apparatus applicable to the above process, and the apparatus may be a base station device.
Referring to fig. 5, a schematic structural diagram of a resource scheduling apparatus provided in the embodiment of the present invention is applied to a PUSCH single-antenna transmission communication system, where UEs in the communication system are configured with the same user-level DMRS cyclic shift. As shown, the apparatus may comprise:
a priority determining module 501, configured to determine a priority of a UE to be scheduled;
a resource allocation module 502, configured to allocate PUSCH resources and PHICH resources to the UE in order of priority from high to low; for each UE which is allocated with PUSCH resources and PHICH resources, determining the position of a Physical Resource Block (PRB) resource which cannot be used as the starting point of PUSCH transmission of the current UE according to the available condition of the current PHICH resources and the user-level DMRS cyclic shift of the current UE in the process of allocating the PUSCH resources and the PHICH resources of the UE; distributing PUSCH resources for the current UE according to the current PUSCH resource availability and the initial PRB resource position which cannot be used as the PUSCH transmission of the current UE; and allocating PHICH resources for the current UE according to the PUSCH resource allocation result of the current UE and the user-level DMRS cyclic shift of the current UE.
In the foregoing resource scheduling apparatus, the
resource allocation module 502 may be specifically configured to determine a mapping relationship between PRB resources and PHICH resources, where adjacent ones are
Mapped to adjacent PHICH groups with spacing of
Is/are as follows
Are mapped to the same PHICH group, wherein,
the lowest PRB sequence number allocated for the first slot of a PUSCH transmission,
the number of PHICH groups; and determining the PRB sequence number corresponding to the allocated PHICH resource as the position of the initial PRB resource which can not be used as the PUSCH transmission of the current UE according to the mapping relation.
In the foregoing resource scheduling apparatus, the resource allocation module 502 may be specifically configured to determine available continuous PRB segments according to an available condition of PUSCH resources of a current system, and determine the number of PRBs required by current UE; according to the number of PRBs required by the current UE, selecting an optimal PRB resource for the current UE in each available continuous PRB segment as a pre-allocated PRB resource in the corresponding available continuous PRB segment; and determining the priority of each pre-allocated PRB resource according to the data carrying capacity and the transmission efficiency of each pre-allocated PRB resource, and selecting the pre-allocated PRB resource with the highest priority as a PUSCH resource to be allocated to the current UE.
In the foregoing resource scheduling apparatus, the resource allocation module 502 may be specifically configured to, in a process of selecting an optimal PRB resource for the current UE in each available continuous PRB segment according to the number of PRBs required by the current UE, and using the selected optimal PRB resource as a pre-allocated PRB resource in a corresponding available continuous PRB segment, perform the following operations for each available continuous PRB segment:
determining a window length for a sliding window of currently available consecutive PRB segmentsLwindow_segk=min{NPRB_need_segk,NPRB_usable_segkIn which N isPRB_need_segkNumber of PRBs, N, required for the current UEPRB_usable_segkThe number of PRBs contained for the currently available continuous PRB segment;
if L iswindow_segk=NPRB_usable_segkIf the starting PRB of the current available continuous PRB segment can be used as the starting PRB resource position of the PUSCH transmission of the current UE, all PRBs in the current available continuous PRB segment are used as pre-allocation resources;
if L iswindow_segk=NPRB_usable_segkIf the starting PRB of the current available continuous PRB segment can not be used as the starting PRB resource position of the PUSCH transmission of the current UE, the residual continuous PRB except the starting PRB in the current available continuous PRB segment is used as the pre-allocation resource;
if L iswindow_segk<NPRB_usable_segkThen, the optimal PRB is selected from the currently available continuous PRB segments as the pre-allocated resource by executing the sliding window operation, and the number of the selected PRB is consistent with the window length. Wherein, the optimal PRB may be the PRB with the highest average CQI.
The resource scheduling apparatus may further include: a transmission data amount determining module 503, configured to determine, when the number of pre-allocated PRBs is smaller than the number of PRBs included in the corresponding available continuous PRB segment, a corresponding modulation and coding scheme MCS according to the CQI of the pre-allocated PRBs, and determine a data amount that can be carried when data transmission is performed on the pre-allocated PRBs using the MCS.
In the foregoing resource scheduling apparatus, the resource allocation module 502 may be specifically configured to, when allocating PUSCH resources for a current UE, divide all pre-allocated PRBs into two sets, where a data amount that can be borne by a pre-allocated PRB in a first set is not less than a data amount to be transmitted by the current UE, and a data amount that can be borne by a pre-allocated PRB in a second set is less than a data amount to be transmitted by the current UE; setting the priority of the first set to be higher than that of the second set; for the first set, setting the priority of each pre-allocated PRB according to the MCS corresponding to each pre-allocated PRB and the priority of the first set; wherein, the higher the MCS, the higher the priority; for the second set, setting the priority of each pre-allocated PRB according to the data volume which can be carried by each pre-allocated PRB and the priority of the second set; the priority is higher when the data quantity capable of being carried is larger; and selecting the pre-allocated PRB with the highest priority from the first set and the second set as a PUSCH resource to be allocated to the current UE.
In the foregoing resource scheduling apparatus, the priority determining module 501 may be specifically configured to determine a priority of a UE to be scheduled, and generate a priority queue; correspondingly, the resource allocation module 502 may be specifically configured to select the UE with the highest priority from the priority queue, and allocate a PUSCH resource and a PHICH resource to the UE; after the current UE is allocated with the PUSCH resource and the PHICH resource, deleting the current UE from the priority queue; and the like until no PUSCH resource and PHICH resource which can be distributed currently exist or no UE to be scheduled exists in the priority queue.
Through the above description of the embodiments, those skilled in the art will clearly understand that the present invention may be implemented by software plus a necessary general hardware platform, and certainly may also be implemented by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for enabling a terminal device (which may be a mobile phone, a personal computer, a server, or a network device) to execute the method according to the embodiments of the present invention.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and improvements can be made without departing from the principle of the present invention, and such modifications and improvements should also be considered within the scope of the present invention.