Method, device, electronic device and storage medium for allocating virtual resource blocks

By obtaining and deinterleaving the mapped virtual resource block index values, the resource block conflict problem in the frequency domain for user terminals with different scheduling types or bandwidth part configurations is solved, and accurate resource block allocation is achieved.

CN119675825BActive Publication Date: 2025-10-03PURPLE MOUNTAIN LAB
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411662432.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-20
Publication Date
2025-10-03
Estimated Expiration
2044-11-20

AI Technical Summary

Technical Problem

In the prior art, the allocation method of virtual resource blocks cannot ensure that user terminals with different scheduling types or bandwidth configurations do not conflict with each other in the frequency domain, resulting in unreasonable resource block allocation.

Method used

By obtaining the allocatable public resource block range of the user terminal, deinterleaving mapping is performed based on the used virtual resource block index value and physical resource block index value to ensure non-conflicting resource block allocation in the frequency domain, including the use of preset resource allocation protocol and interleaving mapping information.

Benefits of technology

This achieves non-conflicting resource block allocation in the frequency domain for user terminals with different scheduling types or bandwidth part configurations, thereby improving the accuracy and efficiency of allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119675825B_ABST
    Figure CN119675825B_ABST
Patent Text Reader

Abstract

The present invention provides a method, apparatus, electronic device, and storage medium for allocating virtual resource blocks, belonging to the field of wireless communication technology. The method labels allocated VRB index values ​​and allocated PRB index values ​​based on allocated CRBs, thereby ensuring that VRBs allocated to different user terminals do not conflict with each other in the frequency domain after being interleaved into PRBs. The method obtains unused VRB index values ​​based on used CRBs, facilitating timely updating of unused VRBs and improving the accuracy of VRB allocation to user terminals.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of wireless communication technology, and in particular to a method, device, electronic device and storage medium for allocating virtual resource blocks. Background Art

[0002] The mapping of virtual resource blocks (VRBs) to physical resource blocks (PRBs) in the physical downlink shared channel (PDS) varies for different user terminals. This poses a significant challenge for the base station's downlink medium access control (MAC) scheduler in allocating VRBs to user terminals using different frequency division multiplexing (FDM). Existing VRB allocation methods cannot ensure that VRBs allocated to UEs with different scheduling types or different bandwidth part (BWP) configurations do not conflict in the frequency domain after being interleaved into PRBs. Summary of the Invention

[0003] The present invention provides a method, device, electronic device and storage medium for allocating virtual resource blocks, which are used to solve the defect in the prior art that the allocation of virtual resource blocks cannot ensure that VRBs allocated to UEs with different scheduling types or with different bandwidth part configurations do not conflict with each other in the frequency domain after being interleaved into PRBs. The invention realizes that in the allocation of virtual resource blocks, it is ensured that VRBs allocated to UEs with different scheduling types or with different bandwidth part configurations do not conflict with each other in the frequency domain after being interleaved into PRBs.

[0004] The present invention provides a method for allocating virtual resource blocks, comprising: obtaining a range of allocable common resource blocks (CRBs) corresponding to a current user terminal to be allocated, obtaining a used virtual resource block (VRB) index value based on used CRBs within the CRB range, and further obtaining an unused VRB index value within the CRB range, wherein the CRB range is determined based on configuration information of a current bandwidth portion of the current user terminal; allocating a VRB to the current user terminal from the unused VRB index values ​​according to a preset resource allocation protocol to obtain an allocated VRB index value for the current user terminal; determining an allocated PRB index value based on the allocated VRB index value, and obtaining an allocated CRB based on the allocated PRB index value; updating a used CRB based on the allocated CRB to update the used VRB index value, and obtaining an updated unused VRB index value based on the updated used VRB index value; and allocating a VRB to a next user terminal from the updated unused VRB index value until all initial CRBs within the CRB range are used, or until all user terminals are allocated VRBs.

[0005] According to the virtual resource block allocation method provided by the present invention, based on the used CRBs within the CRB range, the used virtual resource block VRB index value is obtained, and then the unused VRB index value within the CRB range is obtained. The method includes: obtaining the used physical resource block PRB based on the used CRB; deinterleaving and mapping the used PRB based on VRB-to-PRB interleaving mapping information to obtain the used VRB index value; obtaining all VRB ranges corresponding to the CRB range, and obtaining the unused VRB index value based on the all VRB ranges and the used VRB index value.

[0006] According to the virtual resource block allocation method provided by the present invention, the interleaving mapping information includes the number of resource bundles corresponding to the CRB range, the number of unit resource blocks contained in a resource bundle, and the number of rows of the interleaver between PRBs and VRBs. The used PRBs include a PRB bundle index value and a resource block index value of the PRB bundle. Based on the VRB-to-PRB interleaving mapping information, the used PRBs are deinterleaved and mapped to obtain the used VRB index value. The method includes: when the PRB bundle index value is not the last resource bundle index value corresponding to the number of resource bundles, determining the VRB bundle index value based on the number of resource bundles, the number of rows of the interleaver, and the PRB bundle index value; when the PRB bundle index value is the last resource bundle index value, using the last resource bundle index value as the VRB bundle index value; when the VRB bundle index value corresponds to the first VRB bundle, determining the used VRB index value based on the resource block index value of the PRB bundle; when the VRB bundle index value does not correspond to the first VRB bundle, determining the used VRB index value based on the VRB bundle index value, the number of unit resource blocks, the number of resource blocks contained in the first resource bundle, and the resource block index value of the PRB bundle.

[0007] According to the virtual resource block allocation method provided by the present invention, the allocated PRB index value is determined based on the allocated VRB index value, including: obtaining a VRB bundle index value and a resource block index value of the VRB bundle based on the allocated VRB index value; when the VRB bundle index value is not the last resource bundle index value, determining the PRB bundle index value based on the number of resource bundles, the number of rows of the interleaver, and the VRB bundle index value; when the VRB bundle index value is the last resource bundle index value, using the last resource bundle index value as the PRB bundle index value; when the PRB bundle index value corresponds to the first PRB bundle, determining the allocated PRB index value based on the resource block index value of the VRB bundle; when the PRB bundle index value does not correspond to the first PRB bundle index value, determining the allocated PRB index value based on the PRB bundle index value, the number of unit resource blocks, the number of resource blocks included in the first resource bundle, and the resource block index value of the VRB bundle.

[0008] According to the virtual resource block allocation method provided by the present invention, the allocated CRB is obtained based on the allocated PRB index value, including: obtaining the current search space of the physical downlink control channel corresponding to the current user terminal; if the current search space belongs to the first setting type, then based on the index value of the first starting common resource block of the setting control resource set corresponding to the search space of the first setting type and the allocated PRB index value, the allocated CRB is obtained; if the current search space belongs to the second setting type, then based on the index value of the second starting common resource block of the common control resource set corresponding to the search space of the second setting type, the allocated PRB index value is updated, and based on the updated allocated PRB index value and the index value of the starting common resource block of the downlink bandwidth part used by the current user terminal, the allocated CRB is obtained; if the current search space belongs neither to the first setting type nor to the second setting type, then based on the allocated PRB index value and the index value of the starting common resource block of the downlink bandwidth part, the allocated CRB is obtained.

[0009] According to the virtual resource block allocation method provided by the present invention, the range of the CRB includes a CRB index upper limit and a CRB index lower limit, and obtaining the range of the common resource blocks (CRBs) that can be allocated corresponding to the current user terminal to be allocated includes: when the search space belongs to a set control resource set, using the index value of the first starting common resource block corresponding to the set control resource set as the CRB index lower limit, and determining the CRB index upper limit based on the index value of the first starting common resource block and the number of CRBs in the set control resource set; when the search space belongs to the public control resource set, determining the CRB index lower limit based on the index value of the starting common resource block of the downlink bandwidth part and the position of the first bit 1 of the public control resource set, and determining the CRB index upper limit based on the index value of the starting common resource block of the downlink bandwidth part, the position of the first bit 1 of the public control resource set, and the number of CRBs in the set control resource set; when the search space belongs neither to the set control resource set nor to the public control resource set, determining the CRB index lower limit based on the index value of the starting common resource block of the downlink bandwidth part, and determining the CRB index upper limit based on the index value of the starting common resource block of the downlink bandwidth part and the number of CRBs in the public control resource set.

[0010] According to the virtual resource block allocation method provided by the present invention, a VRB bundle index value is determined based on the number of resource bundles, the number of interleaver rows, and the PRB bundle index value. The method includes: determining the number of interleaver columns based on the number of resource bundles and the number of interleaver rows; determining the VRB row index value based on an integer of the ratio of the PRB bundle index value and the number of interleaver columns; determining the VRB column index value based on the remainder of the ratio of the PRB bundle index value and the number of interleaver columns; and determining the VRB bundle index value based on the number of interleaver rows, the VRB row index value, and the VRB column index value.

[0011] The present invention also provides an allocation device for virtual resource blocks, comprising: a first acquisition module, configured to acquire a range of common resource blocks (CRBs) that can be allocated to a current user terminal to be allocated, and based on the used CRBs within the CRB range, acquire a used virtual resource block (VRB) index value, and then acquire an unused VRB index value within the CRB range, wherein the CRB range is determined based on configuration information of a current bandwidth portion of the current user terminal; a first allocation module, configured to allocate a VRB to the current user terminal from the unused VRB index values ​​according to a preset resource allocation protocol, and obtain the allocated VRBs of the current user terminal; a second acquiring module, configured to determine an allocated PRB index value based on the allocated VRB index value, and acquire the allocated CRB based on the allocated PRB index value; an updating module, configured to update the used CRB based on the allocated CRB to update the used VRB index value, and acquire an updated unused VRB index value based on the updated used VRB index value; and a second allocating module, configured to allocate a VRB to a next user terminal in the updated unused VRB index value until all initial CRBs within the range of the CRB are used, or until all user terminals are allocated VRBs.

[0012] The present invention also provides an electronic device comprising a memory, a processor and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, any of the above-mentioned virtual resource block allocation methods is implemented.

[0013] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the computer program implements any of the above-mentioned methods for allocating virtual resource blocks.

[0014] The virtual resource block allocation method, apparatus, electronic device, and storage medium provided by the present invention mark allocated VRB index values ​​and allocated PRB index values ​​based on allocated CRBs, ensuring that VRBs allocated to different user terminals do not conflict with each other in the frequency domain after being interleaved into PRBs. The present invention obtains unused VRB index values ​​based on used CRBs, facilitating timely updating of unused VRBs and improving the accuracy of VRB allocation to user terminals. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] In order to more clearly illustrate the technical solutions in the present invention or the prior art, a brief introduction is given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0016] Figure 1 This is one of the flow charts of the method for allocating virtual resource blocks provided by the present invention.

[0017] Figure 2 This is the second flow chart of the method for allocating virtual resource blocks provided by the present invention.

[0018] Figure 3 It is a structural diagram of the device for allocating virtual resource blocks provided by the present invention.

[0019] Figure 4 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION

[0020] To make the objectives, technical solutions, and advantages of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the embodiments described are only some of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.

[0021] The following combination Figures 1-4 The present invention describes a method, device and electronic device for allocating virtual resource blocks.

[0022] Figure 1 This is one of the flow charts of the method for allocating virtual resource blocks provided by the present invention, such as Figure 1 As shown, the method for allocating virtual resource blocks includes S100 to S500, and each step is specifically as follows.

[0023] S100: Obtain a range of common resource blocks (CRBs) that can be allocated to the current user terminal to be allocated, obtain a used virtual resource block (VRB) index value based on the used CRBs within the CRB range, and then obtain an unused VRB index value within the CRB range; the CRB range is determined based on configuration information of the current bandwidth portion of the current user terminal.

[0024] Before the downlink medium access control layer (MAC) of the base station allocates frequency domain resources to the current user terminal (UE), it first determines the range of CRBs that can be allocated to the current user terminal based on the current bandwidth part (BWP) configuration information of the current user terminal.

[0025] Obtain used CRBs within the CRB range and convert the used CRBs to used PRBs corresponding to the current BWP configuration information. Furthermore, obtain used VRB index values ​​corresponding to the used PRBs based on VRB-to-PRB interleaving mapping information. Obtain the entire VRB range based on the current BWP configuration information. Remove the used VRB index values ​​from the entire VRB range to obtain unused VRB index values.

[0026] S200: Allocate a VRB to the current user terminal from unused VRB index values ​​according to a preset resource allocation protocol, and obtain an allocated VRB index value of the current user terminal.

[0027] According to a preset resource allocation protocol between the current user terminal and the base station, VRB index values ​​that meet the quantity requirement are allocated to the current user terminal from among the unused VRB index values, and these VRB index values ​​are marked as "allocated" to obtain the allocated VRB index values ​​of the current user terminal.

[0028] S300: Determine an allocated PRB index value based on the allocated VRB index value, and obtain an allocated CRB based on the allocated PRB index value.

[0029] Based on the VRB-to-PRB interleaving mapping information, the allocated VRB index values ​​are converted to allocated PRB index values. Based on the current BWP configuration information corresponding to the user terminal, the allocated PRB index values ​​are converted to CRB index values ​​with global characteristics, and these CRB index values ​​are marked as "allocated" to obtain the allocated CRBs for the user terminal.

[0030] S400: updating the used CRB based on the allocated CRB to update the used VRB index value, and obtaining an updated unused VRB index value based on the updated used VRB index value.

[0031] Before allocating a VRB to the next user terminal (any of the remaining user terminals), the allocated CRB is added to the used CRB to obtain an updated used CRB. Based on the above steps, an updated used VRB index value is determined based on the updated used CRB. Within the range of all VRBs, an updated unused VRB index value is obtained based on the updated used VRB index value.

[0032] S500: Allocate a VRB to the next user terminal in the updated unused VRB index value until all initial CRBs within the CRB range are used, or until all user terminals are allocated VRBs.

[0033] According to the pre-set resource allocation agreement between the next user terminal and the base station, VRBs are allocated to the next user terminal in the updated unused VRB index values. The used VRBs are updated cyclically, and then the used CRBs are updated until all initial CRBs within the range of allocatable CRBs are marked as "allocated" (completely used), or until all user terminals are allocated VRBs. At this point, the allocation of virtual resource blocks (VRBs) is terminated.

[0034] The virtual resource block allocation method provided by the present invention labels the allocated VRB index value and the allocated PRB index value based on the allocated CRB, ensuring that VRBs allocated to different user terminals do not conflict with each other in the frequency domain after being interleaved into PRBs. The present invention obtains the index value of unused VRBs based on the used CRBs, facilitating the timely updating of unused VRBs and improving the accuracy of VRB allocation to user terminals.

[0035] Based on the above embodiment, based on the used CRBs within the CRB range, the used virtual resource block VRB index value is obtained, and then the unused VRB index value within the CRB range is obtained, including S110 to S130. The details of each step are as follows.

[0036] S110: Based on the used CRBs, obtain the used physical resource blocks PRBs.

[0037] S120: Based on the interleaving mapping information from VRB to PRB, deinterleave mapping is performed on the used PRB to obtain the used VRB index value.

[0038] S130: Acquire all VRB ranges corresponding to the CRB range, and acquire unused VRB index values ​​based on all VRB ranges and used VRB index values.

[0039] According to the BWP configuration information of the current user terminal, the used CRB is converted to the used PRB. Furthermore, the used PRB (PrbIdx) is converted to the PRB bundle index value (PrbBundleIdx) and the resource block index value of the PRB bundle.

[0040] (1) If the current user terminal belongs to a system information block (SIB), the physical downlink control channel (PDCCH) of the current user terminal is scrambled by the system information radio network temporary identifier (SI-RNTI), and the PDCCH is carried in the cell-specific search space of the first setting type (type0) associated with the set control resource set (Coreset 0), then the number of unit resource blocks (RBs) contained in a resource bundle (PRB bundle or VRB bundle) is fixed to L, for example, L = 2. The number of resource bundles (PRB bundle or VRB bundle) is calculated as: N_bundle = ceil (1.0 × CoresetZero_Size / L), where N_bundle is the number of resource bundles and CoresetZero_Size is the number of common resource blocks occupied by Coreset 0.

[0041] The calculation formula for the used PRB (PrbIdx) corresponding to the used CRB (CrbIdx) is: used PrbIdx = used CrbIdx - CoresetZero_Start. CoresetZero_Start is the index value of the first starting common resource block of Coreset 0.

[0042] The calculation formula of the PRB bundle index value to which the used PRB belongs is: PrbBundleIdx=UsedPrbIdx / L.

[0043] The resource block index value (RbIdxWithinBundle) of a PRB bundle is calculated as follows: RbIdxWithinBundle of a PRB bundle = used PrbIdx mod L. Where mod is the remainder of the quotient of used PrbIdx and L.

[0044] (2) If the user terminal uses the scheduling of DCI format 1-0 in a cell-specific search space other than type 0. First, it is necessary to determine whether this non-type 0 cell search space belongs to the set control resource set (Coreset0). If the search space of this user terminal belongs to Coreset0, the calculation formula for the index value of the second starting common resource block (CommonCoresetStart) is: CommonCoresetStart = CoresetZero_Start - DlBwpStart; DlBwpStart is the index value of the starting common resource block of the downlink bandwidth part used by the current user terminal.

[0045] If the search space of this user terminal does not belong to Coreset0 (belongs to the common control resource set), CommonCoresetStart = 6 × ceil(1.0 × DlBwpStart / 6) + (1stBit1PosInCommonCoresetFreqDomainCfg - 1) × 6 - DlBwpStart; where 1stBit1PosInCommonCoresetFreqDomainCfg is the position of the first (starting from the left high bit) bit 1 of the common control resource set used by the PDCCH of the current user terminal (determined by the configuration parameters of the common control resource set of the base station).

[0046] The calculation formula for the number of resource bundles is: N_bundle = ceil(1.0 × (CoresetZero_Size + (DlBwpStart + CommonCoresetStart) mod L) / L).

[0047] The calculation formula for the number of resource blocks included in the first resource bundle (RbNumInFirstBundle) is: RbNumInFirstBundle = L - (DlBwpStart + CommonCoresetStart) mod L.

[0048] The calculation formula for the used PRB is: Used PrbIdx = Used CrbIdx - DlBwpStart - CommonCoresetStart.

[0049] If Used PrbIdx < RbNumInFirstBundle, then: PrbBundleIdx = 0, and RbIdxWithinBundle of the PRB bundle = Used PrbIdx.

[0050] If the used PrbIdx > RbNumInFirstBundle + (N_bundle - 2) × L - 1, then: PrbBundleIdx = N_bundle - 1, and RbIdxWithinBundle of the PRB bundle = used PrbIdx - (RbNumInFirstBundle + (N_bundle - 2) × L).

[0051] Except for the above two cases, PrbBundleIdx = ceil(1.0 × (used PrbIdx + 1 - RbNumInFirstBundle) / L), and RbIdxWithinBundle of the PRB bundle = (used PrbIdx - RbNumInFirstBundle) mod L.

[0052] (3)If the current user equipment belongs to the scheduling of other Physical Downlink Shared Channels (PDSCH), the number of resource blocks L included in a resource bundle is determined by cell configuration. N_bundle = ceil(1.0 × (DlBwpSize + DlBwpStart mod L) / L). RbNumInFirstBundle = L - DlBwpStart mod L.

[0053] Used PrbIdx = used CrbIdx - DlBwpStart.

[0054] If the used PrbIdx < RbNumInFirstBundle, then PrbBundleIdx = 0, and RbIdxWithinBundle of the PRB bundle = used PrbIdx.

[0055] If the used PrbIdx > RbNumInFirstBundle + (N_bundle - 2) × L - 1, then PrbBundleIdx = N_bundle - 1, and RbIdxWithinBundle of the PRB bundle = used PrbIdx - (RbNumInFirstBundle + (N_bundle - 2) × L);

[0056] Except for the above two cases, PrbBundleIdx = ceil(1.0 × (used PrbIdx + 1 - RbNumInFirstBundle) / L), and RbIdxWithinBundle of the PRB bundle = (used PrbIdx - RbNumInFirstBundle) mod L.

[0057] According to the VRB-to-PRB interleaving mapping information, the obtained PRB bundle index value and the resource block index value of the PRB bundle are deinterleaved and mapped to obtain the used VRB index value. The entire VRB range is further obtained, and the unused VRB index value is obtained based on the entire VRB range and the used VRB index value.

[0058] The present invention obtains the used VRB index value according to the used CRB, and then obtains the unused VRB index value, which is beneficial to improving the accuracy of allocating VRBs to user terminals.

[0059] Based on the above embodiment, the interleaving mapping information includes the number of resource bundles corresponding to the range of CRBs, the number of unit resource blocks contained in a resource bundle, and the number of rows of the interleaver of PRBs and VRBs. The used PRBs include the PRB bundle index value and the resource block index value of the PRB bundle. Based on the VRB to PRB interleaving mapping information, the used PRBs are deinterleaved and mapped to obtain the used VRB index value, including S121 to S123. The specific steps are as follows.

[0060] S121: When the PRB bundle index value is not the last resource bundle index value corresponding to the number of resource bundles, determine the VRB bundle index value based on the number of resource bundles, the number of interleaver rows and the PRB bundle index value; when the PRB bundle index value is the last resource bundle index value, use the last resource bundle index value as the VRB bundle index value.

[0061] S122: When the VRB bundle index value corresponds to the first VRB bundle index, determine the used VRB index value based on the resource block index value of the PRB bundle.

[0062] S123: When the VRB bundle index value does not correspond to the first VRB bundle index value, determine the used VRB index value based on the VRB bundle index value, the number of unit resource blocks, the number of resource blocks included in the first resource bundle, and the resource block index value of the PRB bundle.

[0063] The used PRB includes a PRB bundle index value (PrbBundleIdx) and a resource block index value of the PRB bundle (RbIdxWithinBundle).

[0064] Assume that the current user terminal belongs to the System Information Block (SIB), the Physical Downlink Control Channel (PDCCH) of the current user terminal is scrambled by the System Information Radio Network Temporary Identifier (SI-RNTI) of the system information, and the PDCCH is carried in the cell-specific search space of the first setting type (type0) associated with the setting control resource set (Coreset 0).

[0065] If the PRB bundle index value is the last resource bundle index value (N_bundle-1) among all resource bundles, the VRB bundle index value (VrbBundleIdx) is equal to N_bundle-1.

[0066] If the PRB bundle index value is not the last resource bundle index value (N_bundle-1) among all resource bundles, the VRB bundle index value is calculated according to the number of resource bundles, the number of interleaver rows, and the PRB bundle index value.

[0067] After the VRB bundle index value is calculated, it is determined whether the VRB bundle index value is the first VRB bundle index value (0).

[0068] If the VRB bundle index value is equal to the first VRB bundle index value (the VRB bundle index value corresponds to the first VRB bundle), that is, VrbBundleIdx = 0, then the used VRB index value (VrbIdx) is directly determined based on the resource block index value (RbIdxWithinBundle) of the PRB bundle. That is, the used VRB index value (VrbIdx) = the RbIdxWithinBundle of the PRB bundle.

[0069] If the VRB bundle index value is not equal to the first VRB bundle index value (the VRB bundle index value does not correspond to the first VRB bundle), that is, VrbBundleIdx ≠ 0, the used VRB index value is determined based on the VRB bundle index value (VrbBundleIdx), the number of unit resource blocks (L), the number of resource blocks contained in the first resource bundle (RbNumInFirstBundle), and the resource block index value of the PRB bundle (RbIdxWithinBundle). That is, the used VRB index value is determined as: RbNumInFirstBundle + (VrbBundleIdx-1) × L + RbIdxWithinBundle of the PRB bundle.

[0070] The present invention determines VRB bundle index values ​​based on PRB index values, thereby improving the accuracy of determining VRB bundle index values. Furthermore, based on VRB bundle index values, used VRB index values ​​are determined based on different situations, thereby achieving accurate deinterleaving from PRB index values ​​to VRB index values.

[0071] Based on the above embodiment, the VRB bundle index value is determined based on the number of resource bundles, the number of interleaver rows and the PRB bundle index value, including S1211 to S1214. The details of each step are as follows.

[0072] S1211: Determine the number of columns of the interleaver based on the number of resource bundles and the number of rows of the interleaver.

[0073] S1212: Determine a row index value of a VRB based on an integer of a ratio of a PRB bundle index value to the number of columns of an interleaver.

[0074] S1213: Determine a column index value of a VRB based on a remainder of a ratio of a PRB bundle index value to the number of columns of an interleaver.

[0075] S1214: Determine a VRB bundle index value based on the number of rows of the interleaver, the row index value of the VRB, and the column index value of the VRB.

[0076] The calculation formula for the number of columns of the interleaver is: C=N_bundle / R; where C is the number of columns of the interleaver, N_bundle is the number of resource bundles, and R is the number of rows of the interleaver.

[0077] VRB row index value (VRB r ) is calculated as follows: VRB r =PrbBundleIdx / C; where PrbBundleIdx is the PRB bundle index value and C is the number of columns of the interleaver.

[0078] VRB column index value (VRB c ) is calculated as follows: VRB c =PrbBundleIdx mod C; where mod is the remainder of the quotient of PrbBundleIdx and C.

[0079] The calculation formula of VRB bundle index value (VrbBundleIdx) is: VrbBundleIdx=VRB c ×R+VRB r .

[0080] The present invention realizes accurate calculation of VRB bundle index values ​​through VRB row index values, VRB column index values ​​and the number of rows of an interleaver, thereby improving the accuracy of calculating VRB bundle index values.

[0081] Based on the above embodiment, determining the allocated PRB index value based on the allocated VRB index value includes S310 to S340 , and each step is specifically as follows.

[0082] S310: Based on the allocated VRB index value, obtain a VRB bundle index value and a resource block index value of the VRB bundle.

[0083] S320: When the VRB bundle index value is not the last resource bundle index value, determine the PRB bundle index value based on the number of resource bundles, the number of interleaver rows, and the VRB bundle index value; when the VRB bundle index value is the last resource bundle index value, use the last resource bundle index value as the PRB bundle index value.

[0084] S330: When the PRB bundle index value corresponds to the first PRB bundle, determine the allocated PRB index value based on the resource block index value of the VRB bundle.

[0085] S340: When the PRB bundle index value does not correspond to the first PRB bundle, determine the allocated PRB index value based on the PRB bundle index value, the number of unit resource blocks, the number of resource blocks included in the first resource bundle, and the resource block index value of the VRB bundle.

[0086] Based on the allocated VRB index (VrbIdx), calculate the VRB bundle index (VrbBundleIdx) and the resource block index (RbIdxWithinBundle) of the VRB bundle. VrbBundleIdx = allocated VrbIdx / L. The VRB bundle's RbIdxWithinBundle = allocated VrbIdx modulo L, where mod is the remainder of the quotient of allocated VrbIdx and L.

[0087] If the VRB bundle index value (VrbBundleIdx) is the last resource bundle index value (N_bundle-1), the PRB bundle index value is equal to the last resource bundle index value (N_bundle-1).

[0088] If the VRB bundle index value is not the last resource bundle index value, the PRB bundle index value is determined according to the number of resource bundles (N_bundle), R, and the VRB bundle index value.

[0089] Calculate the number of columns C of the interleaver: C = N_bundle / R; where R is the number of rows of the interleaver.

[0090] PRB row index value (PRB r ) is calculated as: r=VrbBundleIdx / C; where PrbBundleIdx is the PRB bundle index value and C is the number of columns of the interleaver.

[0091] PRB column index value (PRB c ) is calculated as: c = VrbBundleIdx mod C, where mod is the remainder of the quotient of PrbBundleIdx and C.

[0092] The calculation formula for the PRB bundle index value (PrbBundleIdx) is: PrbBundleIdx=PRB c ×R+PRB r .

[0093] If the PRB bundle index value is equal to the first PRB bundle index value (the PRB bundle index value corresponds to the first PRB bundle), that is, PrbBundleIdx = 0, then the allocated PRB index value (PrbIdx) is directly determined based on the resource block index value (RbIdxWithinBundle) of the VRB bundle. The allocated PrbIdx = RbIdxWithinBundle of the VRB bundle.

[0094] If the PRB bundle index value is not equal to the first PRB bundle index value (the PRB bundle index value does not correspond to the first PRB bundle), the allocated PRB index value is determined based on the PRB bundle index value, L, the number of resource blocks contained in the first resource bundle (RbNumInFirstBundle), and the resource block index value of the VRB bundle. Allocated PrbIdx = RbNumInFirstBundle + (PrbBundleIdx - 1)L + RbIdxWithinBundle of the VRB bundle.

[0095] The present invention determines the PRB bundle index value according to the VRB index value, thereby improving the accuracy of determining the PRB bundle index value. Further, according to the PRB bundle index value, the allocated PRB index value is determined according to the PRB bundle index value, thereby improving the accuracy of determining the PRB index value according to the VRB index value.

[0096] Based on the above embodiment, obtaining the allocated CRB based on the allocated PRB index value includes S350 to S380, and each step is specifically as follows.

[0097] S350: Acquire a current search space of a physical downlink control channel corresponding to the current user terminal.

[0098] S360: If the current search space belongs to the first setting type, the allocated CRB is obtained based on the index value of the first starting common resource block of the setting control resource set corresponding to the search space of the first setting type and the allocated PRB index value.

[0099] S370: If the current search space belongs to the second setting type, the allocated PRB index value is updated based on the index value of the second starting common resource block of the common control resource set corresponding to the search space of the second setting type, and the allocated CRB is obtained based on the updated allocated PRB index value and the index value of the starting common resource block of the downlink bandwidth part used by the current user terminal.

[0100] S380: If the current search space belongs to neither the first setting type nor the second setting type, the allocated CRB is obtained based on the allocated PRB index value and the index value of the starting common resource block of the downlink bandwidth part.

[0101] The first configuration type is a cell-specific search space of type 0 associated with a control resource set (Coreset 0). The second configuration type is a cell-specific search space of non-type 0 associated with a common control resource set (CommonCoreset).

[0102] Get the current search space of the Physical Downlink Control Channel (PDCCH) corresponding to the current user terminal.

[0103] If the current search space belongs to the first configuration type, the allocated CRB (CrbIdx) is determined based on the index value of the first starting common resource block (CoresetZero_Start) and the allocated PRB index value (PrbIdx). Allocated CrbIdx = Allocated PrbIdx + CoresetZero_Start.

[0104] If the current search space belongs to the second configuration type, the allocated PRB index is updated based on the index value of the second starting common resource block (CommonCoresetStart). The updated allocated PrbIdx = allocated PrbIdx + CommonCoresetStart. The allocated CRB is calculated based on the updated allocated PRB index and the index value of the starting common resource block of the downlink bandwidth currently used by the user terminal (DlBwpStart). Allocated CRBs are calculated: Allocated CrbIdx = updated allocated PrbIdx + DlBwpStart.

[0105] If the current search space belongs to neither the first configuration type nor the second configuration type, the allocated CRB is calculated based on the allocated PRB index value and the index value of the starting common resource block of the downlink bandwidth portion. Allocated CrbIdx = Allocated PrbIdx + DlBwpStart.

[0106] The present invention determines the allocated CRB according to different types of the current search space, thereby improving the accuracy of determining the allocated CRB.

[0107] Based on the above embodiment, the range of CRB includes the upper limit and the lower limit of the CRB index. Acquiring the range of the common resource block CRB that can be allocated corresponding to the current user terminal to be allocated includes S140 to S150. The specific steps are as follows.

[0108] S140: When the search space belongs to a set control resource set, the index value of the first starting common resource block corresponding to the set control resource set is used as the CRB index lower limit, and the CRB index upper limit is determined based on the index value of the first starting common resource block and the number of CRBs in the set control resource set.

[0109] S150: When the search space belongs to a common control resource set, the lower limit of the CRB index is determined based on the index value of the starting common resource block of the downlink bandwidth part and the position of the first bit 1 of the common control resource set, and the upper limit of the CRB index is determined based on the index value of the starting common resource block of the downlink bandwidth part, the position of the first bit 1 of the common control resource set and the number of CRBs in the set control resource set.

[0110] S160: When the search space belongs neither to the set control resource set nor to the public control resource set, the lower limit of the CRB index is determined based on the index value of the starting public resource block of the downlink bandwidth part, and the upper limit of the CRB index is determined based on the index value of the starting public resource block of the downlink bandwidth part and the number of CRBs in the public control resource set.

[0111] (1) If the current user terminal belongs to a SIB, its PDCCH is scrambled by the SI-RNTI, and the PDCCH is carried in the search space of the first configuration type (type0) associated with the configuration control resource set (Coreset 0). The range of CRBs that can be used for this Physical Downlink Shared Channel (PDSCH) transmission is the CRB range where Coreset 0 is located. The CRB range includes the CRB index upper limit (AvailableCrbUpperLimit) and the CRB index lower limit (AvailableCrbLowerLimit).

[0112] AvailableCrbLowerLimit=CoresetZero_Start, where CoresetZero_Start is the index value of the first starting common resource block.

[0113] AvailableCrbUpperLimit = CoresetZero_Start + CoresetZero_Size - 1. CoresetZero_Size is the number of CRBs in the control resource set.

[0114] (2) If the PDCCH corresponding to the current user terminal is carried in the cell search space of the second setting type (non-type0) related to Coreset 0, the range of CRBs that can be allocated to the current user terminal is still calculated according to the CRB range where Coreset 0 is located.

[0115] If the PDCCH corresponding to the current user terminal is carried in the cell search space of the second setting type (non-type0) of the common control resource set (common coreset), the range of CRBs that can be used for this PDSCH transmission is the CRB range of the common control resource set.

[0116] AvailableCrbLowerLimit=6×ceil(1.0×DlBwpStart / 6)+(1stBit1PosInCommonCoresetFreqDomainCfg-1)×6.

[0117] AvailableCrbUpperLimit=6×ceil(1.0×DlBwpStart / 6)+(1stBit1PosInCommonCoresetFreqDomainCfg-1)×6+CoresetZero_Size-1.

[0118] Among them, AvailableCrbLowerLimit is the lower limit of the CRB index, ceil() is the minimum integer, DlBwpStart is the index value of the starting common resource block of the downlink bandwidth used by the current user terminal, and 1stBit1PosInCommonCoresetFreqDomainCfg is the position of the first bit 1 of the common control resource set used by the PDCCH of the current user terminal.

[0119] (3) When the downlink medium access control layer (MAC) scheduler of the base station schedules PDSCH transmissions other than the above cases (the search space belongs neither to the set control resource set nor to the common control resource set), the CRB range that can be allocated is the CRB within the BWP range used by the current user terminal.

[0120] AvailableCrbLowerLimit=DlBwpStart.

[0121] AvailableCrbUpperLimit=DlBwpStart+DlBwpSize-1.

[0122] Among them, D1BwpSize is the number of CRBs in the common control resource set occupied by the downlink bandwidth used by the current user terminal.

[0123] The present invention determines the range of CRBs that can be allocated according to different search space types, thereby improving the accuracy of determining the range of CRBs.

[0124] The following describes the device for allocating virtual resource blocks provided by the present invention. The device for allocating virtual resource blocks described below and the method for allocating virtual resource blocks described above can refer to each other.

[0125] like Figure 3 As shown, a virtual resource block allocation device is characterized by including: a first acquisition module 301, used to obtain the range of common resource blocks (CRBs) that can be allocated corresponding to the current user terminal to be allocated, and based on the used CRBs within the range of CRBs, obtain the used virtual resource block (VRB) index value, and then obtain the unused VRB index value within the range of CRBs.

[0126] The first allocation module 302 is configured to allocate a VRB to the current user terminal from unused VRB index values ​​according to a preset resource allocation protocol, and obtain an allocated VRB index value of the current user terminal, where the range of the VRB is determined based on configuration information of a current bandwidth portion of the current user terminal.

[0127] The second acquisition module 303 is configured to determine an allocated PRB index value based on the allocated VRB index value, and acquire an allocated CRB based on the allocated PRB index value.

[0128] The updating module 304 is configured to update the used CRB based on the allocated CRB to update the used VRB index value, and obtain an updated unused VRB index value based on the updated used VRB index value.

[0129] The second allocation module 305 is configured to allocate a VRB to the next user terminal in the updated unused VRB index value until all initial CRBs within the CRB range are used, or until all user terminals are allocated VRBs.

[0130] The virtual resource block allocation method provided by the present invention labels the allocated VRB index value and the allocated PRB index value based on the allocated CRB, ensuring that VRBs allocated to different user terminals do not conflict with each other in the frequency domain after being interleaved into PRBs. The present invention obtains the index value of unused VRBs based on the used CRBs, facilitating the timely updating of unused VRBs and improving the accuracy of VRB allocation to user terminals.

[0131] In one embodiment, the first acquisition module 301 is used to: acquire a used physical resource block (PRB) based on a used CRB; deinterleave and map the used PRB based on VRB-to-PRB interleaving mapping information to acquire a used VRB index value; acquire all VRB ranges corresponding to the CRB range, and acquire an unused VRB index value based on all VRB ranges and the used VRB index value.

[0132] In one embodiment, the interleaving mapping information includes the number of resource bundles corresponding to the range of CRBs, the number of unit resource blocks contained in a resource bundle, and the number of rows of the interleaver for PRBs and VRBs. The used PRBs include a PRB bundle index value and a resource block index value of the PRB bundle. The first acquisition module 301 is configured to: when the PRB bundle index value is not the last resource bundle index value corresponding to the number of resource bundles, determine the VRB bundle index value based on the number of resource bundles, the number of rows of the interleaver, and the PRB bundle index value; when the PRB bundle index value is the last resource bundle index value, use the last resource bundle index value as the VRB bundle index value; when the VRB bundle index value corresponds to the first VRB bundle, determine the used VRB index value based on the resource block index value of the PRB bundle; when the VRB bundle index value does not correspond to the first VRB bundle, determine the used VRB index value based on the VRB bundle index value, the number of unit resource blocks, the number of resource blocks contained in the first resource bundle, and the resource block index value of the PRB bundle.

[0133] In one embodiment, the second acquisition module 303 is used to: acquire a VRB bundle index value and a resource block index value of the VRB bundle based on an allocated VRB index value; when the VRB bundle index value is not the last resource bundle index value, determine the PRB bundle index value based on the number of resource bundles, the number of rows of the interleaver, and the VRB bundle index value; when the VRB bundle index value is the last resource bundle index value, use the last resource bundle index value as the PRB bundle index value; when the PRB bundle index value corresponds to the first PRB bundle, determine the allocated PRB index value based on the resource block index value of the VRB bundle; when the PRB bundle index value does not correspond to the first PRB bundle, determine the allocated PRB index value based on the PRB bundle index value, the number of unit resource blocks, the number of resource blocks included in the first resource bundle, and the resource block index value of the VRB bundle.

[0134] In one embodiment, the second acquisition module 303 is used to: obtain the current search space of the physical downlink control channel corresponding to the current user terminal; if the current search space belongs to the first setting type, then based on the index value of the first starting common resource block of the setting control resource set corresponding to the search space of the first setting type and the allocated PRB index value, obtain the allocated CRB; if the current search space belongs to the second setting type, then based on the index value of the second starting common resource block of the common control resource set corresponding to the search space of the second setting type, update the allocated PRB index value, and based on the updated allocated PRB index value and the index value of the starting common resource block of the downlink bandwidth part used by the current user terminal, obtain the allocated CRB; if the current search space belongs neither to the first setting type nor to the second setting type, then based on the allocated PRB index value and the index value of the starting common resource block of the downlink bandwidth part, obtain the allocated CRB.

[0135] In one embodiment, the range of the CRB includes a CRB index upper limit and a CRB index lower limit, and the first acquisition module 301 is used to: when the search space belongs to a set control resource set, use the index value of the first starting common resource block corresponding to the set control resource set as the CRB index lower limit, and determine the CRB index upper limit based on the index value of the first starting common resource block and the number of CRBs in the set control resource set; when the search space belongs to the public control resource set, determine the CRB index lower limit based on the index value of the starting common resource block of the downlink bandwidth part and the position of the first bit 1 of the public control resource set, and determine the CRB index upper limit based on the index value of the starting common resource block of the downlink bandwidth part, the position of the first bit 1 of the public control resource set, and the number of CRBs in the set control resource set; when the search space belongs neither to the set control resource set nor to the public control resource set, determine the CRB index lower limit based on the index value of the starting common resource block of the downlink bandwidth part, and determine the CRB index upper limit based on the index value of the starting common resource block of the downlink bandwidth part and the number of CRBs in the public control resource set.

[0136] In one embodiment, the first acquisition module 301 is configured to: determine the number of columns of the interleaver based on the number of resource bundles and the number of rows of the interleaver; determine the row index value of the VRB based on an integer of the ratio of the PRB bundle index value to the number of columns of the interleaver; determine the column index value of the VRB based on the remainder of the ratio of the PRB bundle index value to the number of columns of the interleaver; and determine the VRB bundle index value based on the number of rows of the interleaver, the row index value of the VRB, and the column index value of the VRB.

[0137] Figure 4 An example of a physical structure diagram of an electronic device is shown below. Figure 4As shown, the electronic device may include: a processor 410, a communication interface 420, a memory 430 and a communication bus 440, wherein the processor 410, the communication interface 420 and the memory 430 communicate with each other via the communication bus 440. The processor 410 may call the logic instructions in the memory 430 to execute a method for allocating virtual resource blocks, the method comprising: obtaining a range of common resource blocks (CRBs) that can be allocated corresponding to the current user terminal to be allocated, obtaining a used virtual resource block (VRB) index value based on the used CRBs within the CRB range, and then obtaining an unused VRB index value within the CRB range, wherein the CRB range is determined based on the configuration information of the current bandwidth portion of the current user terminal; allocating a VRB to the current user terminal from the unused VRB index values ​​according to a preset resource allocation protocol, Obtaining an allocated VRB index value of a current user terminal; determining an allocated PRB index value based on the allocated VRB index value, and obtaining an allocated CRB based on the allocated PRB index value; updating a used CRB based on the allocated CRB to update the used VRB index value, and obtaining an updated unused VRB index value based on the updated used VRB index value; allocating a VRB to a next user terminal at the updated unused VRB index value, until all initial CRBs within a range of the CRBs are used, or until all user terminals are allocated VRBs.

[0138] Furthermore, the logic instructions in the aforementioned memory 430 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product, stored in a storage medium, includes instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0139] In another aspect, the present invention further provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the virtual resource block allocation method provided by the above methods, the method comprising: obtaining a range of common resource blocks (CRBs) that can be allocated corresponding to a current user terminal to be allocated, obtaining a used virtual resource block (VRB) index value based on used CRBs within the CRB range, and then obtaining an unused VRB index value within the CRB range, wherein the CRB range is determined based on configuration information of a current bandwidth portion of the current user terminal; and according to a preset resource allocation protocol, assigning a VRB to an unused VRB in the range of the CRB. B index value is allocated to the current user terminal to obtain the allocated VRB index value of the current user terminal; the allocated PRB index value is determined based on the allocated VRB index value, and the allocated CRB is obtained based on the allocated PRB index value; the used CRB is updated based on the allocated CRB to update the used VRB index value, and an updated unused VRB index value is obtained based on the updated used VRB index value; a VRB is allocated to the next user terminal at the updated unused VRB index value until all initial CRBs within the range of the CRB are used, or until all user terminals are allocated VRBs.

[0140] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.

[0141] Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented using software plus a necessary general-purpose hardware platform, or of course, hardware. Based on this understanding, the essence of the above technical solution, or the portion that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, or an optical disk, and includes a number of instructions for causing a computer device (such as a personal computer, server, or network device) to execute the methods described in each embodiment or certain portions of the embodiments.

[0142] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.

Claims

1. A method for allocating virtual resource blocks, characterized in that: include: Obtaining a range of allocatable common resource blocks (CRBs) corresponding to a current user terminal to be allocated, obtaining used virtual resource block (VRB) index values ​​based on used CRBs within the CRB range, and further obtaining unused VRB index values ​​within the CRB range, wherein the CRB range is determined based on configuration information of a current bandwidth portion of the current user terminal; Allocate a VRB to the current user terminal from the unused VRB index values ​​according to a preset resource allocation protocol to obtain an allocated VRB index value of the current user terminal; Determine an allocated PRB index value based on the allocated VRB index value, and obtain an allocated CRB based on the allocated PRB index value; Updating the used CRB based on the allocated CRB to update the used VRB index value, and obtaining an updated unused VRB index value based on the updated used VRB index value; The VRB is allocated to the next user terminal at the updated unused VRB index value until all initial CRBs within the range of the CRB are used, or until all user terminals are allocated the VRB.

2. The method for allocating virtual resource blocks according to claim 1, wherein: The acquiring, based on the used CRBs within the range of the CRBs, a used virtual resource block VRB index value, and then acquiring an unused VRB index value within the range of the CRBs, includes: Based on the used CRB, obtaining a used physical resource block PRB; Based on the VRB to PRB interleaving mapping information, deinterleave mapping is performed on the used PRB to obtain the used VRB index value; All VRB ranges corresponding to the CRB range are obtained, and the unused VRB index values ​​are obtained based on the all VRB ranges and the used VRB index values.

3. The method for allocating virtual resource blocks according to claim 2, wherein: The interleaving mapping information includes the number of resource bundles corresponding to the range of the CRB, the number of unit resource blocks contained in a resource bundle, and the number of rows of the interleaver for PRBs and VRBs; the used PRBs include a PRB bundle index value and a resource block index value of the PRB bundle; and the deinterleaving mapping of the used PRBs based on the VRB-to-PRB interleaving mapping information to obtain the used VRB index value includes: When the PRB bundle index value is not the last resource bundle index value corresponding to the number of resource bundles, determining a VRB bundle index value based on the number of resource bundles, the number of rows of the interleaver, and the PRB bundle index value; when the PRB bundle index value is the last resource bundle index value, using the last resource bundle index value as the VRB bundle index value; When the VRB bundle index value corresponds to the first VRB bundle, determining the used VRB index value based on the resource block index value of the PRB bundle; When the VRB bundle index value does not correspond to the first VRB bundle, the used VRB index value is determined based on the VRB bundle index value, the number of unit resource blocks, the number of resource blocks included in the first resource bundle, and the resource block index value of the PRB bundle.

4. The method for allocating virtual resource blocks according to claim 3, wherein: The determining the allocated PRB index value based on the allocated VRB index value includes: Based on the allocated VRB index value, obtaining a VRB bundle index value and a resource block index value of the VRB bundle; When the VRB bundle index value is not the last resource bundle index value, determining a PRB bundle index value based on the number of resource bundles, the number of rows of the interleaver, and the VRB bundle index value; when the VRB bundle index value is the last resource bundle index value, using the last resource bundle index value as the PRB bundle index value; When the PRB bundle index value corresponds to the first PRB bundle, determining the allocated PRB index value based on the resource block index value of the VRB bundle; When the PRB bundle index value does not correspond to the first PRB bundle, the allocated PRB index value is determined based on the PRB bundle index value, the number of unit resource blocks, the number of resource blocks included in the first resource bundle, and the resource block index value of the VRB bundle.

5. The method for allocating virtual resource blocks according to claim 4, wherein: The acquiring the allocated CRB based on the allocated PRB index value includes: Obtaining a current search space of a physical downlink control channel corresponding to the current user terminal; If the current search space belongs to a first setting type, obtaining the allocated CRB based on the index value of the first starting common resource block of the set control resource set corresponding to the search space of the first setting type and the allocated PRB index value; If the current search space belongs to the second setting type, updating the allocated PRB index value based on the index value of the second starting common resource block of the common control resource set corresponding to the search space of the second setting type, and obtaining the allocated CRB based on the updated allocated PRB index value and the index value of the starting common resource block of the downlink bandwidth part used by the current user terminal; If the current search space belongs neither to the first setting type nor to the second setting type, the allocated CRB is obtained based on the allocated PRB index value and the index value of the starting common resource block of the downlink bandwidth part.

6. The method for allocating virtual resource blocks according to claim 5, wherein: The range of the CRB includes a CRB index upper limit and a CRB index lower limit, and obtaining the range of the CRB that can be allocated to the current user terminal to be allocated includes: When the search space belongs to the set control resource set, taking the index value of the first starting common resource block corresponding to the set control resource set as the CRB index lower limit, and determining the CRB index upper limit based on the index value of the first starting common resource block and the number of CRBs in the set control resource set; When the search space belongs to the common control resource set, determining the CRB index lower limit based on the index value of the starting common resource block of the downlink bandwidth part and the position of the first bit 1 of the common control resource set, and determining the CRB index upper limit based on the index value of the starting common resource block of the downlink bandwidth part, the position of the first bit 1 of the common control resource set, and the number of CRBs in the set control resource set; When the search space belongs neither to the set control resource set nor to the common control resource set, the CRB index lower limit is determined based on the index value of the starting common resource block of the downlink bandwidth part, and the CRB index upper limit is determined based on the index value of the starting common resource block of the downlink bandwidth part and the number of CRBs in the common control resource set.

7. The method for allocating virtual resource blocks according to claim 3, wherein: The determining the VRB bundle index value based on the number of the resource bundles, the number of rows of the interleaver, and the PRB bundle index value includes: determining the number of columns of the interleaver based on the number of the resource bundles and the number of rows of the interleaver; Determine a row index value of a VRB based on an integer of a ratio of the PRB bundle index value to the number of columns of the interleaver; Determining a column index value of a VRB based on a remainder of a ratio of the PRB bundle index value to the number of columns of the interleaver; The VRB bundle index value is determined based on the number of rows of the interleaver, the row index value of the VRB, and the column index value of the VRB.

8. A virtual resource block allocation device, characterized in that: include: a first acquisition module, configured to acquire a range of allocatable common resource blocks (CRBs) corresponding to a current user terminal to be allocated, acquire used virtual resource block (VRB) index values ​​based on used CRBs within the CRB range, and further acquire unused VRB index values ​​within the CRB range, wherein the CRB range is determined based on configuration information of a current bandwidth portion of the current user terminal; a first allocation module, configured to allocate a VRB to the current user terminal from the unused VRB index values ​​according to a preset resource allocation protocol, and obtain an allocated VRB index value of the current user terminal; A second acquisition module is configured to determine an allocated PRB index value based on the allocated VRB index value, and acquire an allocated CRB based on the allocated PRB index value; an updating module, configured to update the used CRB based on the allocated CRB to update the used VRB index value, and obtain an updated unused VRB index value based on the updated used VRB index value; The second allocation module is configured to allocate the VRB to the next user terminal in the updated unused VRB index value until all initial CRBs within the range of the CRB are used, or until all user terminals are allocated the VRB.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the method for allocating virtual resource blocks according to any one of claims 1 to 7 is implemented.

10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for allocating virtual resource blocks according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Method, device and base station for allocation of PRB resources

    CN104394592A

  • Wireless communication device and wireless communication method

    CN110034888A