Multi-stream MIMO resource allocation method, device, equipment and storage medium

By parallelly calculating the correlation coefficients of user flow data using multiple computing units, the problems of slow computing speed and low throughput in the existing technology are solved, efficient time-frequency resource allocation of the MIMO system is achieved, and high-bandwidth transmission requirements are met.

CN114390690BActive Publication Date: 2025-10-21DATANG MOBILE COMM EQUIP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011133132.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-21
Publication Date
2025-10-21
Estimated Expiration
2040-10-21

AI Technical Summary

Technical Problem

In the existing technology, before allocating time-frequency resources, the MIMO system serially calculates the correlation coefficient between user stream data. This has a long calculation cycle, slow calculation speed, and small memory read bandwidth, resulting in low system throughput and unable to meet high-bandwidth transmission requirements.

Method used

The method of multi-computing unit parallel processing is adopted. A preset number of computing units are used to parallelly calculate the correlation coefficients between multiple user flow data within multiple computing cycles, and time-frequency resources are allocated according to the correlation coefficients. The preset rectangular arrangement method and storage units are used to optimize data access and calculation processes.

Benefits of technology

It improves the efficiency of calculating the correlation coefficient between user flow data, increases the system throughput and resource utilization of the computing unit, improves the efficiency of time-frequency resource allocation, and meets the high-bandwidth transmission requirements of the MIMO system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114390690B_ABST
    Figure CN114390690B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a kind of multi-flow MIMO resource allocation method, device, equipment and storage medium, by obtaining multiple user flow data to be allocated;Through the preset number of computing units, user flow data is handled in multiple calculation periods in parallel, determine the correlation coefficient between multiple user flow data two by two;In any calculation period, the correlation coefficient between the corresponding two target user flow data of each computing unit is determined;According to the correlation coefficient between multiple user flow data two by two, time-frequency resource allocation is carried out to each user flow.The correlation coefficient between two of multiple user flow data is calculated in parallel by multiple computing units, and each calculation period computing unit is fully utilized, can greatly improve the efficiency of calculating the correlation coefficient between user flow data, also improve the resource utilization of computing unit, increase system throughput, to improve the efficiency of time-frequency resource allocation, satisfy the demand of MIMO system high bandwidth transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a multi-stream MIMO resource allocation method, apparatus, device, and storage medium. Background Art

[0002] One or more antennas can be used between network devices and terminal devices for multiple-input multiple-output (MIMO) transmission. However, when MIMO transmits different user stream data, there may be certain interference between the user stream data. Therefore, it is usually necessary to calculate the correlation coefficient between the user stream data and then allocate time-frequency resources to reduce the interference between the user stream data.

[0003] In the prior art, before allocating time-frequency resources, the correlation coefficient between each user stream data and other user stream data is usually calculated in sequence in a serial manner. The calculation cycle is long, and data reading and calculation operations need to be completed alternately in each calculation cycle. The calculation speed is slow, the memory read bandwidth is small, and the system throughput is low, which makes it impossible to quickly obtain the correlation coefficient between user stream data, thereby resulting in inefficient time-frequency resource allocation and an inability to meet the high-bandwidth transmission requirements of the MIMO system. Summary of the Invention

[0004] The present application provides a multi-stream MIMO resource allocation method, apparatus, device, and storage medium, which can quickly obtain the correlation coefficient between user stream data, thereby improving the time-frequency resource allocation efficiency of the MIMO system and meeting the high-bandwidth transmission requirements of the MIMO system.

[0005] In a first aspect, the present application provides a multi-stream MIMO resource allocation method, comprising:

[0006] Acquire multiple user flow data to be allocated;

[0007] The user flow data are processed in parallel using a preset number of computing units in multiple computing cycles to determine correlation coefficients between any two of the plurality of user flow data; wherein the correlation coefficient between the corresponding two target user flow data is determined by each computing unit in any computing cycle;

[0008] Time-frequency resources are allocated to each user stream according to correlation coefficients between any two of the plurality of user stream data.

[0009] In one possible design, the processing the user flow data in parallel using a preset number of computing units using multiple computing cycles to determine correlation coefficients between any two of the plurality of user flow data includes:

[0010] Arranging the calculation tasks for obtaining the correlation coefficients between any two of the plurality of user flow data in a preset rectangular arrangement;

[0011] According to the preset rectangular arrangement, the computing unit processes each computing task in parallel using multiple computing cycles to determine correlation coefficients between any two of the plurality of user flow data.

[0012] In one possible design, in the preset rectangular arrangement, each row corresponds to a computing unit, and each column corresponds to a computing cycle;

[0013] The computing unit processes each computing task in parallel using multiple computing cycles according to the preset rectangular arrangement, including:

[0014] In each computing cycle, each computing unit processes a column of computing tasks, and each computing unit processes a row of computing tasks in the column of computing tasks.

[0015] In a possible design, after obtaining the plurality of user flow data to be allocated, the method further includes:

[0016] storing the plurality of user flow data in a storage unit according to a predetermined storage method;

[0017] Determining the correlation coefficient between two corresponding target user flow data by each computing unit in any computing cycle includes:

[0018] For each computing unit, sequentially obtain data of two target user streams under the same antenna from corresponding positions of the storage unit according to a predetermined storage method;

[0019] The calculation unit determines a correlation coefficient between the two target user stream data according to the data of the two target user stream data under the same antenna.

[0020] In one possible design, the storage unit includes multiple storage subunits, each user stream data includes multiple RBG data, each RBG data includes data of multiple antennas, and the number of the antennas is an integer multiple of the number of the storage subunits;

[0021] The storing the plurality of user flow data in a storage unit according to a predetermined storage method includes:

[0022] Get the current RBG data of each user stream data;

[0023] Arrange the data of each antenna in the current RBG data of each user stream data into a matrix form, where the number of columns of the matrix is ​​equal to the number of the storage subunits;

[0024] For each user stream data, the data of each antenna in the current RBG data is stored in sequence in multiple storage sub-units.

[0025] In one possible design, for each user stream data, storing data of each antenna in current RBG data in sequence into multiple storage subunits includes:

[0026] For each user stream data, the data of each antenna in the current RBG data is stored cyclically in the order from the first storage subunit to the last storage subunit;

[0027] Wherein, each user flow data stored in each storage subunit is arranged in sequence.

[0028] In one possible design, for each computing unit, sequentially obtaining data of two target user streams at the same antenna from corresponding positions of the storage unit according to a predetermined storage method includes:

[0029] For each computing unit, determining the storage location of the data of the same antenna in the two target user stream data in the corresponding storage subunit according to a predetermined storage method;

[0030] The data of the two target user streams under the same antenna are obtained from the storage location in the corresponding storage subunit.

[0031] In one possible design, determining, by the calculation unit, a correlation coefficient between the two target user stream data according to data of the two target user stream data at the same antenna includes:

[0032] In any calculation cycle, the first counter of the calculation unit is used to respectively determine the storage addresses of the data of the same antenna in the two target user stream data in the storage unit;

[0033] According to the storage address, sequentially obtain data of the two target user stream data under the same antenna;

[0034] The product of the data under the same antenna in the two target user stream data is calculated through the calculation result register of the calculation unit, and the products are accumulated to obtain the correlation coefficient between the two target user stream data.

[0035] In one possible design, the method further includes:

[0036] After completing the calculation task of the current calculation cycle, the calculation unit resets the first counter and the calculation result register, performs the calculation task of the next calculation cycle, and counts the completed calculation cycles through the second counter of the calculation unit.

[0037] In a second aspect, the present application provides a multi-stream MIMO resource allocation device, comprising: a memory, a processor; the processor comprises: a control unit and a computing unit;

[0038] The memory is interconnected with the control unit and the computing unit in the processor via a circuit; the memory is used to store a computer program; the processor is used to read the computer program in the memory and perform the following operations:

[0039] Acquiring, by a control unit, a plurality of user flow data to be distributed;

[0040] Processing the user flow data in parallel using a preset number of computing units in multiple computing cycles to obtain correlation coefficients between any two of the user flow data; wherein in any computing cycle, each computing unit determines the correlation coefficient between the corresponding two target user flow data;

[0041] The control unit allocates time-frequency resources to each user stream according to the correlation coefficients between any two of the plurality of user stream data.

[0042] In one possible design, the processor is configured to process the user stream data in parallel using a preset number of computing units using multiple computing cycles to determine correlation coefficients between any two of the plurality of user stream data, specifically including:

[0043] The control unit arranges the calculation tasks of obtaining the correlation coefficients between each pair of the plurality of user flow data in a preset rectangular arrangement;

[0044] The control unit controls the calculation unit to process each calculation task in parallel using multiple calculation cycles according to the preset rectangular arrangement, so as to determine correlation coefficients between any two of the plurality of user flow data.

[0045] In one possible design, in the preset rectangular arrangement, each row corresponds to a computing unit, and each column corresponds to a computing cycle;

[0046] The control unit is configured to control the computing unit to process each computing task in parallel using multiple computing cycles according to the preset rectangular arrangement, specifically comprising:

[0047] The control unit controls each computing unit to process a column of computing tasks in each computing cycle, and each computing unit processes a row of computing tasks in the column of computing tasks.

[0048] In one possible design, the memory further includes: a storage unit, the storage unit being connected to the control unit and the computing unit;

[0049] The control unit is further configured to store the plurality of user flow data in a storage unit according to a predetermined storage method;

[0050] Each calculation unit is configured to determine the correlation coefficient between two corresponding target user flow data in any calculation cycle, specifically including:

[0051] For each computing unit, sequentially obtain data of two target user streams under the same antenna from corresponding positions of the storage unit according to a predetermined storage method;

[0052] The calculation unit determines a correlation coefficient between the two target user stream data according to the data of the two target user stream data under the same antenna.

[0053] In one possible design, the storage unit includes multiple storage subunits, each user stream data includes multiple RBG data, each RBG data includes data of multiple antennas, and the number of the antennas is an integer multiple of the number of the storage subunits;

[0054] The control unit is configured to store the plurality of user flow data in the storage unit according to a predetermined storage method, specifically comprising:

[0055] Obtain current RBG data for each user stream data; arrange data for each antenna in the current RBG data for each user stream data into a matrix form, where the number of columns of the matrix is ​​equal to the number of the storage subunits; and for each user stream data, sequentially store data for each antenna in the current RBG data into multiple storage subunits.

[0056] In one possible design, the control unit is configured to store, for each user stream data, data of each antenna in the current RBG data in sequence into multiple storage subunits, specifically including:

[0057] For each user stream data, the data of each antenna in the current RBG data is stored cyclically in the order from the first storage subunit to the last storage subunit;

[0058] Wherein, each user flow data stored in each storage subunit is arranged in sequence.

[0059] In one possible design, each computing unit is configured to sequentially obtain data of two target user streams from corresponding positions of the storage unit according to a predetermined storage method, specifically including:

[0060] For each computing unit, the storage location of the data of the same antenna in the two target user stream data in the corresponding storage subunit is determined according to a predetermined storage method; and the data of the same antenna in the two target user stream data is obtained from the storage location in the corresponding storage subunit.

[0061] In one possible design, the calculation unit includes: a first counter and a calculation result register, wherein the first counter and the calculation result register are connected;

[0062] The first counter is used to determine, in any calculation cycle, the storage addresses of the data of the two target user streams under the same antenna in the storage unit;

[0063] The control unit is configured to sequentially obtain data of the two target user streams under the same antenna according to the storage address;

[0064] The calculation result register is used to calculate the product of the data of the two target user streams under the same antenna and accumulate the product to obtain the correlation coefficient between the two target user streams.

[0065] In one possible design, the calculation unit further includes: a second counter;

[0066] The calculation unit is configured to reset the first counter and the calculation result register after completing the calculation task of the current calculation cycle, and perform the calculation task of the next calculation cycle;

[0067] The second counter is used to count completed counting cycles.

[0068] In a third aspect, the present application provides a processor, comprising the multi-stream MIMO resource allocation device as described in the second aspect.

[0069] In a fourth aspect, the present application provides a board, comprising: a memory device, an interface device, a control device, and the processor according to the third aspect;

[0070] Wherein, the processor is connected to the storage device, the control device and the interface device respectively;

[0071] The storage device is used to store data;

[0072] The interface device is used to realize data transmission between the processor and the terminal;

[0073] The control device is used to monitor the status of the processor.

[0074] In a fifth aspect, the present application provides a network device comprising the board card as described in the fourth aspect.

[0075] In a sixth aspect, the present application provides a processor-readable storage medium having a computer program stored thereon; when the computer program is executed, the method described in the first aspect is implemented.

[0076] The multi-stream MIMO resource allocation method, device, equipment and storage medium provided by the present application obtain multiple user stream data to be allocated; use a preset number of computing units to process the user stream data in parallel using multiple computing cycles to determine the correlation coefficients between the multiple user stream data; wherein the correlation coefficient between the corresponding two target user stream data is determined by each computing unit in any computing cycle; and time-frequency resources are allocated to each user stream based on the correlation coefficients between the multiple user stream data. The present application calculates the correlation coefficients between the multiple user stream data in parallel using multiple computing units, and the computing units are fully utilized in each computing cycle, which can greatly improve the efficiency of calculating the correlation coefficients between the user stream data, while also improving the resource utilization of the computing units and increasing the system throughput, thereby improving the efficiency of time-frequency resource allocation and meeting the requirements of high-bandwidth transmission of the MIMO system.

[0077] It should be understood that the contents described in the above summary of the invention are not intended to limit the key or important features of the embodiments of the present application, nor are they intended to limit the scope of the present application. Other features of the present application will become easier to understand through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] In order to more clearly illustrate the technical solutions in the present application or the prior art, a brief introduction will be 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 application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0079] Figure 1 A schematic diagram of an application scenario of a multi-stream MIMO resource allocation method provided in an embodiment of the present application;

[0080] Figure 2 A flowchart of a multi-stream MIMO resource allocation method provided in one embodiment of the present application;

[0081] Figure 3 A flowchart of a multi-stream MIMO resource allocation method provided in another embodiment of the present application;

[0082] Figure 4 A flowchart of a multi-stream MIMO resource allocation method provided in another embodiment of the present application;

[0083] Figure 5 A flowchart of a multi-stream MIMO resource allocation method provided in another embodiment of the present application;

[0084] Figure 6 A schematic diagram of a storage method for multiple user stream data in a multi-stream MIMO resource allocation method provided in another embodiment of the present application;

[0085] Figure 7 A flowchart of a multi-stream MIMO resource allocation method provided in another embodiment of the present application;

[0086] Figure 8 A flowchart of a multi-stream MIMO resource allocation method provided in another embodiment of the present application;

[0087] Figure 9 A block diagram of a multi-stream MIMO resource allocation device provided in one embodiment of the present application;

[0088] Figure 10 This is a block diagram of a processor in a multi-stream MIMO resource allocation device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0089] In this application, the term "and / or" describes the relationship between associated objects, indicating that three possible relationships exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.

[0090] In the embodiments of the present application, the term "plurality" refers to two or more than two, and other quantifiers are similar.

[0091] Network devices and terminal devices can each use one or more antennas for Multiple Input Multiple Output (MIMO) transmission. MIMO transmission can be either Single User MIMO (SU-MIMO) or Multi User MIMO (MU-MIMO). Depending on the configuration and number of antenna combinations, MIMO transmission can be 2D-MIMO, 3D-MIMO, FD-MIMO, or Massive-MIMO. It can also use diversity transmission, precoding, or beamforming.

[0092] However, when MIMO transmits different user stream data, there may be certain interference between the user stream data. Therefore, it is usually necessary to calculate the correlation coefficient between the user stream data and then perform time-frequency resource allocation to reduce the interference between the user stream data.

[0093] In the prior art, before allocating time-frequency resources, the correlation coefficients between each user flow data and other user flow data are usually calculated in sequence in a serial manner.

[0094] The calculation is performed for each RBG (Resource Block Group), and the correlation coefficient c between user flow data a and user flow data b is calculated. ab It can be expressed as:

[0095]

[0096] in represents the kth antenna data of user stream a, where N is the number of antennas.

[0097] The user flow sequence is arranged as follows:

[0098] User flow 1, user flow 2, ..., user flow M

[0099] In contrast, correlation coefficient calculations must be performed (M-1),...,2,1,0 times in sequence. A correlation coefficient between two user streams is considered a calculation cycle. Each calculation cycle includes N complex multiplications and N-1 complex additions. For M user streams, a total of M(M-1) calculation cycles are required.

[0100] According to the computing requirements, M user stream data needs to be stored. The data width is 512 bits = 16 antennas * 32 bits. The upper and lower 16 bits of each 32-bit data are the real part and imaginary part of one antenna respectively.

[0101] The existing technology uses a serial method to calculate the correlation coefficient between user stream data, which has a long calculation cycle. In addition, data reading and calculation operations need to be completed alternately in each calculation cycle. This results in slow calculation speed, small memory read bandwidth, and low system throughput. As a result, the correlation coefficient between user stream data cannot be quickly obtained, which in turn leads to inefficient time-frequency resource allocation and cannot meet the high-bandwidth transmission requirements of the MIMO system.

[0102] In order to solve the above technical problems, an embodiment of the present application provides a multi-stream MIMO resource allocation method. After obtaining multiple user stream data to be allocated, a first preset number of computing units are used to process the user stream data in parallel using multiple computing cycles to obtain the correlation coefficients between the multiple user stream data; wherein the correlation coefficients between two target user stream data are obtained by each computing unit in any computing cycle; further, time-frequency resources can be allocated to each user stream based on the correlation coefficients between the multiple user stream data. In the embodiment of the present application, the correlation coefficients between the multiple user stream data are calculated in parallel by multiple computing units, which increases the system throughput and can greatly improve the efficiency of calculating the correlation coefficients between the user stream data, thereby improving the efficiency of time-frequency resource allocation and meeting the high-bandwidth transmission requirements of the MIMO system.

[0103] Considering that in the parallel computing process, in order to avoid repeated calculations, the following calculation method is usually used. Taking 6 streams of user flow data as an example, 5 computing units are used in parallel. The calculation process of the correlation coefficient between the user flow data is shown in Table 1 (where flow 1*flow 2 is used to identify the calculation task of the correlation coefficient between user flow data 1 and user flow data 2):

[0104] Table 1

[0105] Calculation cycle 1 Calculation cycle 2 Calculation cycle 3 Calculation cycle 4 Calculation cycle 5 Stream 1*Stream 2 Stream 1*Stream 3 Stream 2*Stream 3 Stream 1*Stream 4 Stream 2*Stream 4 Flow 3*Flow 4 Flow 1*Flow 5 Flow 2*Flow 5 Flow 3*Flow 5 Stream 4*Stream 5 Stream 1*Stream 6 Flow 2*Flow 6 Flow 3*Flow 6 Stream 4*Stream 6 Flow 5*Flow 6

[0106] That is, for 6 streams of user flow data, 6-1=5 calculation cycles are required. During some calculation cycles, some computing units are idle, resulting in low resource utilization of the computing units and extended calculation cycles. To avoid the above problems, in the embodiment of the present application, each computing unit must obtain the correlation coefficient between the two target user flow data in each calculation cycle. That is, each computing unit obtains a correlation coefficient in each calculation cycle, effectively improving the resource utilization of the computing units.

[0107] Specifically, in the embodiment of the present application, the calculation task in calculation cycle 5 in the above figure can be placed in calculation cycle 2, and the calculation task in calculation cycle 4 can be placed in calculation cycle 3. That is, the correlation coefficient calculation process between user flow data is shown in Table 2:

[0108] Table 2

[0109] Calculation cycle 1 Calculation cycle 2 Calculation cycle 3 Stream 1*Stream 2 Flow 5*Flow 6 Flow 4*Flow 5 Stream 1*Stream 3 Stream 2*Stream 3 Stream 4*Stream 6 Stream 1*Stream 4 Stream 2*Stream 4 Flow 3*Flow 4 Flow 1*Flow 5 Flow 2*Flow 5 Flow 3*Flow 5 Stream 1*Stream 6 Flow 2*Flow 6 Flow 3*Flow 6

[0110] Through the above process, the computing units are fully utilized in each computing cycle, which effectively improves the resource utilization of the computing units, shortens the computing cycle, and improves computing efficiency.

[0111] The technical solution provided in the embodiment of the present application can be applicable to a variety of systems, especially 5G systems. For example, the applicable system can be a global system of mobile communication (GSM) system, a code division multiple access (CDMA) system, a wideband code division multiple access (WCDMA) general packet radio service (GPRS) system, a long term evolution (LTE) system, a LTE frequency division duplex (FDD) system, a LTE time division duplex (TDD) system, an advanced long term evolution (LTE-A) system, a universal mobile telecommunication system (UMTS), a world-wide interoperability for microwave access (WiMAX) system, a 5G new air interface (NR) system, etc. These various systems include terminal equipment and network equipment. The system may also include a core network part, such as an evolved packet system (EPS), a 5G system (5GS), etc.

[0112] The embodiment of the present application provides an application scenario of a multi-stream MIMO resource allocation method. Figure 1As shown, the network device 101 may include a network device 101 and a terminal device 102, wherein the terminal device 102 may include multiple devices. The network device 101 may include but is not limited to network devices such as base stations, and the terminal device 102 may include but is not limited to terminal devices such as mobile phones, tablet computers, and wearable devices. After obtaining multiple user stream data, the network device 101 may send the user stream data to the terminal device 102 using multi-stream MIMO technology. The network device may send one or more user stream data to any terminal device 102. After obtaining multiple user stream data to be allocated, in order to prevent interference between the multiple user stream data during transmission, the network device 101 may first determine the correlation coefficient between each of the multiple user stream data, and then allocate time-frequency resources to each user stream based on the correlation coefficient between the multiple user stream data. In other words, appropriate time-frequency resources are used to send the user stream data to the terminal device 102. When determining the correlation coefficients between any two of the plurality of user flow data, the network device 101 may process the user flow data in parallel using a preset number of computing units using multiple computing cycles to determine the correlation coefficients between any two of the plurality of user flow data; wherein in any computing cycle, each computing unit determines the correlation coefficient between the corresponding two target user flow data.

[0113] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0114] Among them, the method and device provided in the embodiments of this application are based on the same application concept. Since the principles of solving problems by the method and device are similar, the implementation of the device and method can refer to each other, and the repeated parts will not be repeated.

[0115] Figure 2 This embodiment provides a multi-stream MIMO resource allocation method, which can be executed by a network device such as a base station, such as Figure 2 As shown, the specific steps of the multi-stream MIMO resource allocation method in this embodiment are as follows:

[0116] S201: Acquire multiple user flow data to be distributed.

[0117] In this embodiment, multiple user stream data to be allocated are first obtained. This embodiment does not limit the method for obtaining the multiple user stream data to be allocated. Optionally, the data dimension format used for the multiple user stream data can be M (number of user streams) * L (number of RBGs) * N (number of antennas) * 32 bits. Of course, the data dimension format is not limited to the above example.

[0118] S202. Process the user flow data in parallel using a preset number of computing units in multiple computing cycles to determine correlation coefficients between any two of the plurality of user flow data; wherein the correlation coefficient between the corresponding two target user flow data is determined by each computing unit in any computing cycle.

[0119] In this embodiment, a preset number of computing units can be used to process the user stream data in parallel using multiple computing cycles to determine the correlation coefficients between the multiple user stream data. By using multiple computing units to calculate the correlation coefficients between the multiple user stream data in parallel, the system throughput is increased, and the efficiency of calculating the correlation coefficients between the user stream data can be greatly improved, thereby improving the efficiency of time-frequency resource allocation and meeting the requirements of high-bandwidth transmission of the MIMO system. In order to improve the resource utilization of the preset number of computing units, each computing unit can be used in each computing cycle, that is, each computing unit can calculate the correlation coefficient between two user stream data in each computing cycle. In this embodiment, any computing unit calculates the correlation coefficient c between any user stream data a and another user stream data b. ab It can be calculated by the following formula:

[0120]

[0121] in represents the kth antenna data of user stream a, where N is the number of antennas.

[0122] It should be noted that when the number of user flows is M, it is usually necessary to calculate (M-1)*M / 2 correlation coefficients. The preset number of calculation units can be M-1, and the calculation cycle can be M / 2, that is, M-1 correlation coefficients can be obtained in each calculation cycle, and after M / 2 calculation cycles, (M-1)*M / 2 correlation coefficients between the M stream user flow data streams can be obtained.

[0123] S203: Allocate time-frequency resources to each user stream according to the correlation coefficients between any two of the plurality of user stream data.

[0124] In this embodiment, after obtaining the correlation coefficients between any two of the plurality of user stream data, time-frequency resources may be allocated to each user stream based on the correlation coefficients between any two of the plurality of user stream data. Specifically, since the greater the correlation coefficient between two user stream data, the greater the interference that may exist between the two user stream data, when allocating video resources, it is possible to avoid allocating the same time-frequency resources to transmit to the terminal device two user stream data having correlation coefficients exceeding a threshold, thereby reducing interference and improving data transmission quality.

[0125] The multi-stream MIMO resource allocation method provided in this embodiment obtains multiple user stream data to be allocated; processes the user stream data in parallel using multiple calculation cycles through a preset number of calculation units to determine the correlation coefficients between the multiple user stream data; wherein the correlation coefficient between the corresponding two target user stream data is determined by each calculation unit in any calculation cycle; and time-frequency resources are allocated to each user stream based on the correlation coefficients between the multiple user stream data. This embodiment calculates the correlation coefficients between the multiple user stream data in parallel using multiple calculation units, and the calculation units are fully utilized in each calculation cycle, which can greatly improve the efficiency of calculating the correlation coefficients between the user stream data, while also improving the resource utilization of the calculation units and increasing the system throughput, thereby improving the efficiency of time-frequency resource allocation and meeting the high-bandwidth transmission requirements of the MIMO system.

[0126] Based on the above embodiments, Figure 3 As shown, the method of S202 of processing the user flow data in parallel using a preset number of computing units using multiple computing cycles to determine the correlation coefficients between any two of the plurality of user flow data may specifically include:

[0127] S301: Arrange the calculation tasks for obtaining the correlation coefficients between any two of the plurality of user flow data in a preset rectangular arrangement;

[0128] S302: According to the preset rectangular arrangement, the computing unit processes each computing task in parallel using multiple computing cycles to determine correlation coefficients between any two of the plurality of user flow data.

[0129] In this embodiment, when multiple computing units are used to calculate the correlation coefficients between each pair of multiple user flow data, in order to avoid repeated calculations, especially after the correlation coefficient between user flow data a and user flow data b is calculated, it is not necessary to calculate the correlation coefficient between user flow data b and user flow data a. Therefore, for M user flow data, (M-1)*M / 2 correlation coefficients need to be calculated. For example, for 6 user flow data, the calculation task of calculating the correlation coefficients shown in Table 3 needs to be calculated:

[0130] Table 3

[0131] Stream 1*Stream 2 Stream 1*Stream 3 Stream 2*Stream 3 Stream 1*Stream 4 Stream 2*Stream 4 Flow 3*Flow 4 Flow 1*Flow 5 Flow 2*Flow 5 Flow 3*Flow 5 Flow 4*Flow 5 Stream 1*Stream 6 Flow 2*Flow 6 Flow 3*Flow 6 Stream 4*Stream 6 Flow 5*Flow 6

[0132] It can be seen that based on Table 3, the computing tasks of the triangular arrangement in Table 3 can be converted into computing tasks of the rectangular arrangement. Specifically, the two computing tasks in the fourth column of Table 3 can be added to the third column, and the one computing task in the fifth column can be added to the second column, thus obtaining the computing tasks of the rectangular arrangement shown in Table 4:

[0133] Table 4

[0134] Stream 1*Stream 2 Flow 5*Flow 6 Stream 4*Stream 5 Stream 1*Stream 3 Stream 2*Stream 3 Stream 4*Stream 6 Stream 1*Stream 4 Stream 2*Stream 4 Flow 3*Flow 4 Flow 1*Flow 5 Flow 2*Flow 5 Flow 3*Flow 5 Stream 1*Stream 6 Flow 2*Flow 6 Flow 3*Flow 6

[0135] Furthermore, based on Table 4, 5 computing units can be used and 3 computing cycles can be used to complete all the calculation tasks of the correlation coefficients between the 6 user flow data.

[0136] Similarly, for M user stream data, the computation tasks can be arranged in a rectangular arrangement of (M-1)*M / 2, where the rectangular arrangement can be M-1 rows and M / 2 columns. Consequently, M-1 computation units can be used, and M / 2 computation cycles can be used to complete the computation of the correlation coefficients between any two of the M user stream data. The first computation cycle can calculate the correlation coefficients between user stream data 1 and the remaining M-1 user stream data. The second computation cycle can calculate the correlation coefficients between user stream data 2 and the remaining M-2 user stream data excluding user stream data 1, as well as the correlation coefficients between user stream data M-1 and user stream data M. This can be repeated over and over again, completing the computation task.

[0137] From another perspective, the number of calculations in each calculation cycle is:

[0138]

[0139] During calculation, according to the preset rectangular arrangement, the computing unit uses multiple computing cycles to parallel process each computing task to determine the correlation coefficients between multiple user flow data. In each computing cycle, each computing unit processes a column of computing tasks, and each computing unit processes a row of computing tasks in the column of computing tasks, which can improve the utilization rate of the computing unit and shorten the computing cycle.

[0140] Based on any of the above embodiments, after obtaining the plurality of user flow data to be allocated in S201, the plurality of user flow data may be stored in a storage unit according to a predetermined storage method;

[0141] Furthermore, if Figure 4As shown, when determining the correlation coefficient between the corresponding two target user flow data by each calculation unit in any calculation cycle in S202, it can be achieved through the following process:

[0142] S401: For each computing unit, sequentially obtain data of two target user streams under the same antenna from corresponding positions of the storage unit according to a predetermined storage method;

[0143] S402 : Determine, by the calculation unit, a correlation coefficient between the two target user flow data according to the data of the two target user flow data under the same antenna.

[0144] In this embodiment, to determine the correlation coefficient between user stream data a and user stream data b, it is necessary to multiply the data of user stream data a received from the first antenna by the data of user stream data b received from the first antenna, multiply the data of user stream data a received from the second antenna by the data of user stream data b received from the second antenna, and so on, until the data of user stream data a received from the kth antenna by the data of user stream data b received from the kth antenna, and accumulate the products. Therefore, when a computing unit calculates the correlation coefficient between user stream data a and user stream data b, it is necessary to sequentially obtain data of user stream data a and user stream data b received from the same antenna from the storage unit, and then determine the correlation coefficient between the two user stream data based on the data of user stream data a and user stream data b received from the same antenna. In other words, the data received from the same antenna are multiplied and the products are accumulated.

[0145] Based on the above embodiment, the storage unit includes multiple storage subunits, each user stream data includes multiple RBG data, and each RBG data includes data for multiple antennas, where the number of antennas is an integer multiple of the number of storage subunits. Optionally, the storage unit may be a random access memory (RAM), and in this embodiment, multiple RAM blocks may be specifically provided as the storage subunits. Further optionally, the RAM blocks in this embodiment may be dual-port RAM blocks.

[0146] Based on the above embodiments, Figure 5 As shown, storing the plurality of user flow data in a storage unit according to a predetermined storage method may specifically include:

[0147] S501. Obtain current RBG data of each user stream data;

[0148] S502: Arrange the data of each antenna in the current RBG data of each user stream data into a matrix form, where the number of columns of the matrix is ​​equal to the number of the storage subunits;

[0149] S503 : For each user stream data, store the data of each antenna in the current RBG data in sequence into a plurality of storage sub-units.

[0150] In this embodiment, since each user stream data has continuity, each user stream data can be allocated resources according to RBG, so each user stream data can be stored and the correlation coefficient can be calculated according to RBG. When storing, when the current RBG data of each user stream data is obtained, the current RBG data of each user stream data is arranged in a matrix form, and when arranging, the data of each antenna in the current RBG data is arranged in sequence to form a matrix form, and each user stream data arranged in the matrix form is stored in a plurality of storage sub-units in sequence. Specifically, taking the user stream data bit width of 512bit=16 antennas*32bit as an example, 16 dual-port RAM blocks with a bit width of 32bit and a depth of 4*M*L can be used as storage units, where M is the number of user stream data and L is the number of RBGs. For multiple user stream data, the following can be used: Figure 6 More specifically, for each user stream data, the data of each antenna in the current RBG data is stored cyclically in the order from the first storage subunit to the last storage subunit; wherein, each user stream data stored in each storage subunit is arranged in order. Figure 6 As shown, the data ant0 for the first antenna in the current RBG data of the first user stream is stored in the first storage subunit ram0. The data ant0 for the second antenna in the current RBG data of the first user stream is stored in the second storage subunit ram0, and so on. It can be seen that the vertical data storage format (single RAM block) has the characteristic of continuous RBG and user stream data dimensions but discontinuous antenna dimensions, while the horizontal data storage format (ram0-ram15) has the characteristic of continuous antenna dimensions.

[0151] Based on the above embodiments, Figure 7 As shown, S401, for each computing unit, sequentially obtaining data of two target user streams under the same antenna from corresponding positions of the storage unit according to a predetermined storage method, may specifically include:

[0152] S601: For each computing unit, determine the storage location of data of two target user streams under the same antenna in the corresponding storage subunit according to a predetermined storage method;

[0153] S602: Obtain data of two target user streams under the same antenna from a storage location in a corresponding storage subunit.

[0154] In this embodiment, based on the above storage method, each calculation unit can sequentially determine the storage location of the data under the same antenna in the two target user flow data in the corresponding storage subunit, and obtain the data under the same antenna in the two target user flow data according to the storage location. Figure 6 For example, the storage unit shown in FIG. 1 is used to calculate the data storage position in the horizontal direction and in the vertical direction according to the following formulas:

[0155] ADDR(h+1,v)<=ADDR(h,v)(0≤h<16,0≤v<4ML)

[0156] ADDR(h,v+1)<=ADDR(h,v)+4L(0≤h<16,0≤v<4ML)

[0157] Where h represents the serial number of RAM0-RAM15, and v represents the serial number of a single RAM data read. The data required for one RBG calculation can be read in 16+L*M / 2 clock cycles, increasing memory bandwidth by approximately 180 times compared to existing serial calculation methods.

[0158] Furthermore, based on the above embodiment, the calculation unit may include a first counter and a calculation result register; Figure 8 As shown, when determining the correlation coefficient between the two target user stream data according to the data of the two target user stream data under the same antenna by the calculation unit, it may specifically include:

[0159] S701: In any calculation cycle, determine, by means of a first counter of the calculation unit, storage addresses of data of two target user streams under the same antenna in the storage unit;

[0160] S702: sequentially obtain data of the two target user streams under the same antenna according to the storage address;

[0161] S703 : Calculate the product of the data of the two target user streams under the same antenna through the calculation result register of the calculation unit, and add them up to obtain a correlation coefficient between the two target user streams.

[0162] In this embodiment, for any computing unit, it is necessary to first sequentially determine the storage locations of the data of the same antenna in the two target user stream data in the corresponding storage subunits. Therefore, in this embodiment, the first counter of the computing unit is used to sequentially determine the storage addresses of the data of the same antenna in the two target user stream data in the corresponding storage subunits. For example, the storage addresses of the data of the first antenna in the two target user stream data in the corresponding storage subunits are first determined, then the storage addresses of the data of the second antenna in the two target user stream data in the corresponding storage subunits are determined, and so on, until the storage addresses of the data of the kth antenna in the two target user stream data in the corresponding storage subunits are determined. Then, the data of the same antenna in the two target user stream data can be sequentially read according to the storage addresses determined by the first counter. The product of the data of the same antenna in the two target user stream data is calculated and accumulated in the calculation result register of the computing unit to obtain the correlation coefficient between the two target user stream data.

[0163] Furthermore, after completing the calculation task of the current calculation cycle, that is, obtaining the correlation coefficient between two target user flow data, it is necessary to calculate the correlation coefficient between the next two target user flow data. At this time, the calculation unit can reset the first counter and the calculation result register, so that the calculation task of the next calculation cycle can be carried out. Another second counter of the calculation unit counts the completed calculation cycles. The second counter is reset before the first calculation cycle and then incremented by 1 after each calculation cycle. When the second counter determines that all calculation cycles have been completed, it is determined that all calculation tasks for the correlation coefficients between two pairs of the multiple user flow data have been completed. Subsequently, time-frequency resource allocation for each user flow can be performed based on the correlation coefficients between two pairs of the multiple user flow data. In addition, after all calculation tasks are completed, the second counter can be reset.

[0164] Figure 9 The multi-stream MIMO resource allocation device provided in the embodiment of the present application is as follows: Figure 9 As shown, the multi-stream MIMO resource allocation apparatus includes: a memory 801, a processor 802, and a transceiver 803 for receiving and sending data under the control of the processor 802. The memory 801, the processor 802, and the transceiver 803 are connected via a bus architecture.

[0165] Further, such as Figure 10 As shown, the processor 802 includes: a control unit 8021 and a computing unit 8022; the memory is interconnected with the control unit 8021 and the computing unit 8022 in the processor via a circuit; the memory is used to store a computer program; the processor is used to read the computer program in the memory and perform the following operations:

[0166] Acquire multiple user flow data to be allocated through the control unit 8021;

[0167] The user flow data are processed in parallel by a preset number of computing units 8022 using multiple computing cycles to obtain correlation coefficients between any two of the plurality of user flow data; wherein the correlation coefficient between the corresponding two target user flow data is determined by each computing unit 8022 in any computing cycle;

[0168] The control unit 8021 allocates time-frequency resources to each user stream according to the correlation coefficients between any two of the plurality of user stream data.

[0169] Based on the above embodiment, the processor is configured to process the user stream data in parallel using a preset number of computing units 8022 using multiple computing cycles to determine correlation coefficients between any two of the plurality of user stream data, specifically including:

[0170] The control unit 8021 arranges the calculation tasks of obtaining the correlation coefficients between each pair of the plurality of user flow data in a preset rectangular arrangement;

[0171] The control unit 8021 controls the calculation unit 8022 to process each calculation task in parallel using multiple calculation cycles according to the preset rectangular arrangement, so as to determine the correlation coefficients between any two of the plurality of user flow data.

[0172] On the basis of any of the above embodiments, in the preset rectangular arrangement, each row corresponds to a calculation unit 8022, and each column corresponds to a calculation cycle;

[0173] The control unit 8021 is configured to control the calculation unit 8022 to process each calculation task in parallel using multiple calculation cycles according to the preset rectangular arrangement, specifically including:

[0174] The control unit 8021 controls each computing unit 8022 to process a column of computing tasks in each computing cycle, and each computing unit 8022 processes a row of computing tasks in the column of computing tasks.

[0175] Based on any of the above embodiments, the memory further includes: a storage unit connected to the control unit 8021 and the calculation unit 8022;

[0176] The control unit 8021 is further configured to store the plurality of user flow data in a storage unit according to a predetermined storage method;

[0177] Each calculation unit 8022 is configured to determine the correlation coefficient between two corresponding target user flow data in any calculation cycle, specifically including:

[0178] For each computing unit 8022, data of two target user streams under the same antenna are obtained from corresponding positions of the storage unit in sequence according to a predetermined storage method;

[0179] The calculation unit 8022 determines the correlation coefficient between the two target user stream data according to the data of the two target user stream data under the same antenna.

[0180] Based on any of the foregoing embodiments, the storage unit includes multiple storage subunits, each user stream data includes multiple RBG data, each RBG data includes data of multiple antennas, and the number of the antennas is an integer multiple of the number of the storage subunits;

[0181] The control unit 8021 is configured to store the plurality of user flow data in the storage unit according to a predetermined storage method, specifically including:

[0182] Obtain current RBG data for each user stream data; arrange data for each antenna in the current RBG data for each user stream data into a matrix form, where the number of columns of the matrix is ​​equal to the number of the storage subunits; and for each user stream data, sequentially store data for each antenna in the current RBG data into multiple storage subunits.

[0183] Based on any of the foregoing embodiments, the control unit 8021 is configured to store, for each user stream data, the data of each antenna in the current RBG data in sequence into multiple storage subunits, specifically including:

[0184] For each user stream data, the data of each antenna in the current RBG data is stored cyclically in the order from the first storage subunit to the last storage subunit;

[0185] Wherein, each user flow data stored in each storage subunit is arranged in sequence.

[0186] Based on any of the foregoing embodiments, each calculation unit 8022 is configured to sequentially obtain data of two target user streams from corresponding positions of the storage unit according to a predetermined storage method, specifically including:

[0187] For each computing unit 8022, the storage location of the data of the two target user streams under the same antenna in the corresponding storage subunit is determined according to a predetermined storage method; and the data of the two target user streams under the same antenna is obtained from the storage location in the corresponding storage subunit.

[0188] Based on any of the above embodiments, the calculation unit 8022 includes: a first counter and a calculation result register, wherein the first counter is connected to the calculation result register;

[0189] The first counter is used to determine, in any calculation cycle, the storage addresses of the data of the two target user streams under the same antenna in the storage unit;

[0190] The control unit 8021 is configured to sequentially obtain data of the two target user streams under the same antenna according to the storage address;

[0191] The calculation result register is used to calculate the product of the data of the two target user streams under the same antenna and accumulate the product to obtain the correlation coefficient between the two target user streams.

[0192] Based on any of the above embodiments, the calculation unit 8022 further includes: a second counter;

[0193] The calculation unit 8022 is configured to reset the first counter and the calculation result register after completing the calculation task of the current calculation cycle, and perform the calculation task of the next calculation cycle;

[0194] The second counter is used to count completed counting cycles.

[0195] It should be noted that the multi-stream MIMO resource allocation device provided in the present application can implement all the method steps implemented in the above method embodiment and can achieve the same technical effects. The parts of this embodiment that are the same as those in the method embodiment and the beneficial effects thereof will not be described in detail here.

[0196] It should be noted that in Figure 9 In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically linking together various circuits of one or more processors represented by processor 802 and memory represented by memory 801. The bus architecture may also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are all well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 803 may be a plurality of components, i.e., a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium, such as a wireless channel, a wired channel, an optical cable, and the like. The processor 802 is responsible for managing the bus architecture and general processing, and the memory 801 may store data used by the processor 802 when performing operations.

[0197] The processor 802 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a complex programmable logic device (CPLD). The processor may also adopt a multi-core architecture.

[0198] In addition, it should be noted that the division of the control unit and the computing unit in the processor is schematic and is only a logical functional division. In actual implementation, there may be other division methods. In addition, the functional units in the various embodiments of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.

[0199] Another embodiment of the present application further provides a processor, including the multi-stream MIMO resource allocation device provided in the above embodiment.

[0200] Another embodiment of the present application further provides a board, comprising: a memory device, an interface device, a control device, and a processor as provided in the above embodiment; wherein the processor is connected to the memory device, the control device, and the interface device, respectively;

[0201] The storage device is used to store data;

[0202] The interface device is used to realize data transmission between the processor and the terminal;

[0203] The control device is used to monitor the status of the processor.

[0204] Another embodiment of the present application also provides a network device including the board provided in the above embodiment. The network device involved in the embodiment of the present application may be a base station, which may include multiple cells providing services for terminals. Depending on the specific application scenario, the base station may also be called an access point, or may be a device in the access network that communicates with a wireless terminal device through one or more sectors on the air interface, or other names. The network device can be used to interchange received air frames with Internet Protocol (IP) packets, acting as a router between the wireless terminal device and the rest of the access network, wherein the rest of the access network may include an Internet Protocol (IP) communication network. The network device can also coordinate the attribute management of the air interface. For example, the network device involved in the embodiments of the present application may be a network device (Base Transceiver Station, BTS) in the Global System for Mobile communications (GSM) or Code Division Multiple Access (CDMA), or a network device (NodeB) in Wide-band Code Division Multiple Access (WCDMA), or an evolutionary network device (eNB or e-NodeB) in the Long Term Evolution (LTE) system, a 5G base station (gNB) in the 5G network architecture (next generation system), or a home evolved Node B (HeNB), a relay node, a femto, a pico, etc., which is not limited in the embodiments of the present application. In some network structures, the network device may include a centralized unit (CU) node and a distributed unit (DU) node, and the centralized unit and the distributed unit may also be geographically separated.

[0205] Another embodiment of the present application further provides a processor-readable storage medium having a computer program stored thereon; when the computer program is executed, the multi-stream MIMO resource allocation method provided in the above embodiment is implemented. The processor-readable storage medium can be any available medium or data storage device that can be accessed by the processor, including but not limited to magnetic storage (e.g., floppy disk, hard disk, magnetic tape, magneto-optical disk (MO), etc.), optical storage (e.g., CD, DVD, BD, HVD, etc.), and semiconductor storage (e.g., ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid-state drive (SSD)), etc.

[0206] It should be noted here that the processor, board, network device, and processor-readable storage medium provided in this application can all implement all the method steps implemented in the above-mentioned method embodiment and can achieve the same technical effects. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.

[0207] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) that contain computer-usable program code.

[0208] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer-executable instructions. These computer-executable instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0209] These processor-executable instructions may also be stored in a processor-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the processor-readable memory produce an article of manufacture comprising an instruction device that implements the process Figure 1 a process or multiple processes and / or boxes Figure 1The function specified in one or more boxes.

[0210] These processor-executable instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are performed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0211] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.

Claims

1. A multi-stream MIMO resource allocation method, characterized in that: The method includes: Acquire multiple user flow data to be allocated; The user flow data are processed in parallel using a preset number of computing units in multiple computing cycles to determine correlation coefficients between any two of the plurality of user flow data; wherein the correlation coefficient between the corresponding two target user flow data is determined by each computing unit in any computing cycle; Allocating time-frequency resources to each user flow according to correlation coefficients between any two of the plurality of user flow data; The step of using a preset number of computing units to process the user flow data in parallel using multiple computing cycles to determine correlation coefficients between any two of the plurality of user flow data includes: Arranging the calculation tasks for obtaining the correlation coefficients between each pair of the plurality of user flow data in a preset rectangular arrangement; the preset rectangular arrangement is M-1 rows of calculation units and M / 2 columns of calculation cycles, where M represents the number of user flows; According to the preset rectangular arrangement, the computing unit processes each computing task in parallel using multiple computing cycles to determine correlation coefficients between any two of the plurality of user flow data.

2. The method according to claim 1, characterized in that In the preset rectangular arrangement, each row corresponds to a computing unit, and each column corresponds to a computing cycle; The computing unit processes each computing task in parallel using multiple computing cycles according to the preset rectangular arrangement, including: In each computing cycle, each computing unit processes a column of computing tasks, and each computing unit processes a row of computing tasks in the column of computing tasks.

3. The method according to claim 2, characterized in that After obtaining the plurality of user flow data to be distributed, the method further includes: storing the plurality of user flow data in a storage unit according to a predetermined storage method; Determining the correlation coefficient between two corresponding target user flow data by each computing unit in any computing cycle includes: For each computing unit, sequentially obtain data of two target user streams under the same antenna from corresponding positions of the storage unit according to a predetermined storage method; The calculation unit determines a correlation coefficient between the two target user stream data according to the data of the two target user stream data under the same antenna.

4. The method according to claim 3, characterized in that The storage unit includes multiple storage subunits, each user stream data includes multiple RBG data, each RBG data includes data of multiple antennas, and the number of the antennas is an integer multiple of the number of the storage subunits; The storing the plurality of user flow data in a storage unit according to a predetermined storage method includes: Get the current RBG data of each user stream data; Arrange the data of each antenna in the current RBG data of each user stream data into a matrix form, where the number of columns of the matrix is ​​equal to the number of the storage subunits; For each user stream data, the data of each antenna in the current RBG data is stored in sequence in multiple storage sub-units.

5. The method according to claim 4, characterized in that The step of storing, for each user stream data, the data of each antenna in the current RBG data into a plurality of storage sub-units in sequence includes: For each user stream data, the data of each antenna in the current RBG data is stored cyclically in the order from the first storage subunit to the last storage subunit; Wherein, each user flow data stored in each storage subunit is arranged in sequence.

6. The method according to claim 5, characterized in that For each computing unit, sequentially obtaining data of two target user streams under the same antenna from corresponding positions of the storage unit according to a predetermined storage method includes: For each computing unit, determining the storage location of the data of the same antenna in the two target user stream data in the corresponding storage subunit according to a predetermined storage method; The data of the two target user streams under the same antenna are obtained from the storage location in the corresponding storage subunit.

7. The method according to any one of claims 3 to 6, characterized in that: The determining, by the calculation unit, a correlation coefficient between the two target user flow data according to data of the two target user flow data under the same antenna includes: In any calculation cycle, the first counter of the calculation unit is used to respectively determine the storage addresses of the data of the same antenna in the two target user stream data in the storage unit; According to the storage address, sequentially obtain data of the two target user stream data under the same antenna; The product of the data under the same antenna in the two target user stream data is calculated through the calculation result register of the calculation unit, and the products are accumulated to obtain the correlation coefficient between the two target user stream data.

8. The method according to claim 7, characterized in that The method further comprises: After completing the calculation task of the current calculation cycle, the calculation unit resets the first counter and the calculation result register, performs the calculation task of the next calculation cycle, and counts the completed calculation cycles through the second counter of the calculation unit.

9. A multi-stream MIMO resource allocation device, characterized in that: include: Memory, processor; The processor includes: a control unit and a calculation unit; The memory is interconnected with the control unit and the computing unit in the processor via a circuit; the memory is used to store a computer program; the processor is used to read the computer program in the memory and perform the following operations: Acquiring, by a control unit, a plurality of user flow data to be distributed; Processing the user flow data in parallel using a preset number of computing units in multiple computing cycles to obtain correlation coefficients between any two of the user flow data; wherein in any computing cycle, each computing unit determines the correlation coefficient between the corresponding two target user flow data; Allocating time-frequency resources to each user stream according to a correlation coefficient between two of the plurality of user stream data by a control unit; The processor is configured to process the user flow data in parallel using a preset number of computing units using multiple computing cycles to determine correlation coefficients between any two of the plurality of user flow data, specifically including: The control unit arranges the calculation tasks for obtaining the correlation coefficients between each pair of the plurality of user flow data in a preset rectangular arrangement; the preset rectangular arrangement is M-1 rows of calculation units and M / 2 columns of calculation cycles, where M represents the number of user flows; The control unit controls the calculation unit to process each calculation task in parallel using multiple calculation cycles according to the preset rectangular arrangement, so as to determine correlation coefficients between any two of the plurality of user flow data.

10. The device according to claim 9, characterized in that In the preset rectangular arrangement, each row corresponds to a computing unit, and each column corresponds to a computing cycle; The control unit is configured to control the computing unit to process each computing task in parallel using multiple computing cycles according to the preset rectangular arrangement, specifically comprising: The control unit controls each computing unit to process a column of computing tasks in each computing cycle, and each computing unit processes a row of computing tasks in the column of computing tasks.

11. The device according to claim 10, characterized in that The memory further includes: a storage unit connected to the control unit and the calculation unit; The control unit is further configured to store the plurality of user flow data in a storage unit according to a predetermined storage method; Each calculation unit is configured to determine the correlation coefficient between two corresponding target user flow data in any calculation cycle, specifically including: For each computing unit, sequentially obtain data of two target user streams under the same antenna from corresponding positions of the storage unit according to a predetermined storage method; The calculation unit determines a correlation coefficient between the two target user stream data according to the data of the two target user stream data under the same antenna.

12. The device according to claim 11, characterized in that The storage unit includes multiple storage subunits, each user stream data includes multiple RBG data, each RBG data includes data of multiple antennas, and the number of the antennas is an integer multiple of the number of the storage subunits; The control unit is configured to store the plurality of user flow data in the storage unit according to a predetermined storage method, specifically comprising: Get the current RBG data of each user stream data; Arrange the data of each antenna in the current RBG data of each user stream data into a matrix form, where the number of columns of the matrix is ​​equal to the number of the storage subunits; for each user stream data, store the data of each antenna in the current RBG data in sequence into multiple storage subunits.

13. The device according to claim 12, characterized in that The control unit is configured to store, for each user stream data, the data of each antenna in the current RBG data in sequence into a plurality of storage subunits, specifically including: For each user stream data, the data of each antenna in the current RBG data is stored cyclically in the order from the first storage subunit to the last storage subunit; Wherein, each user flow data stored in each storage subunit is arranged in sequence.

14. The device according to claim 13, characterized in that Each of the calculation units is configured to sequentially obtain data of two target user streams from corresponding positions of the storage unit according to a predetermined storage method, specifically including: For each computing unit, the storage location of the data of the same antenna in the two target user stream data in the corresponding storage subunit is determined according to a predetermined storage method; and the data of the same antenna in the two target user stream data is obtained from the storage location in the corresponding storage subunit.

15. The device according to any one of claims 11 to 14, characterized in that The calculation unit includes: a first counter and a calculation result register, wherein the first counter and the calculation result register are connected; The first counter is used to determine, in any calculation cycle, the storage addresses of the data of the two target user streams under the same antenna in the storage unit; The control unit is configured to sequentially obtain data of the two target user streams under the same antenna according to the storage address; The calculation result register is used to calculate the product of the data of the two target user streams under the same antenna and accumulate the product to obtain the correlation coefficient between the two target user streams.

16. The device according to claim 15, characterized in that The calculation unit further includes: a second counter; The calculation unit is configured to reset the first counter and the calculation result register after completing the calculation task of the current calculation cycle, and perform the calculation task of the next calculation cycle; The second counter is used to count completed counting cycles.

17. A processor, characterized in that: include: The multi-stream MIMO resource allocation device according to any one of claims 9 to 16.

18. A board, characterized in that: The board includes: a memory device, an interface device, a control device and a processor as claimed in claim 17; Wherein, the processor is connected to the storage device, the control device and the interface device respectively; The storage device is used to store data; The interface device is used to realize data transmission between the processor and the terminal; The control device is used to monitor the status of the processor.

19. A processor-readable storage medium, characterized in that: The processor-readable storage medium stores a computer program; when the computer program is executed, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • User equipment matching method and device

    CN104270180A

  • Multichannel signal correlation analyzing method and system

    CN106648901A