Frequency domain data processing method, device, electronic device and storage medium

By dividing PRB packets into multiple packets and processing their respective subtasks in parallel, the problem of high delay in PUSCH symbol-level processing is solved, and more efficient frequency domain data processing and resource utilization are achieved.

CN115495229BActive Publication Date: 2025-08-19DATANG MOBILE COMM EQUIP CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110681307.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-18
Publication Date
2025-08-19
Estimated Expiration
2041-06-18

AI Technical Summary

Technical Problem

In the 5G NR wireless communication system, the symbol-level processing process of PUSCH is completed in serial, resulting in a longer frequency domain data processing time and a higher communication delay.

Method used

The PRB packet is divided into multiple packets, and the respective subtasks are processed in parallel by using multiple processor cores. Different types of subtasks are mounted to the processor core according to the preset subtask mount rules to realize parallel processing.

Benefits of technology

The processing time of frequency domain data is reduced, the communication delay is reduced, and the processing efficiency of the PUSCH module and the resource utilization rate of the system are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115495229B_ABST
    Figure CN115495229B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a frequency domain data processing method, apparatus, electronic device, and storage medium, relating to the field of communication technology. The frequency domain data processing process of each PRB group is split into a processing process of multiple subtasks, and multiple processor cores are used to process each subtask separately. Subtasks in different PRB groups can be processed in parallel, and symbol-level processing is changed from serial processing to parallel processing. This can reduce the overall processing time, reduce the communication delay, and effectively utilize system resources, reduce time and memory waste, improve the processing efficiency of the PUSCH module, and improve the resource utilization of the entire system.
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 frequency domain data processing method, device, electronic device and storage medium. Background Art

[0002] In the 5G (fifth-generation mobile communication technology) NR (New Radio) wireless communication system, the PUSCH (Physical Uplink Shared Channel) is a physical channel for uplink transmission used to carry service data and some control data. It is jointly implemented by the AAU (Active Antenna Unit) and the BBU (Building Baseband Unit). The AAU is primarily responsible for receiving time-domain signals and IR (Infrared) compression. IR compression refers to the compression of IR interface data. The IR interface refers to the interface directly connecting the BBU to the RRU (Remote Radio Unit) or AAU, connected by optical fiber. The BBU is primarily responsible for FFT (Fast Fourier Transform), demapping, and PUSCH channel detection. PUSCH data processing includes symbol-level processing, bit-level processing, and measurement processing.

[0003] Symbol-level processing mainly includes parameter calculation, channel estimation and equalization, such as Figure 1 As shown in Figure 1, the resource usage and implementation efficiency of this process will affect the performance of the entire system. To improve the accuracy of back-end data processing, it is generally necessary to group the PRBs (Physical Resource Blocks) within the entire system bandwidth before entering the PUSCH dimensionality reduction process. Dimensionality reduction, channel estimation, and equalization are performed separately within each group.

[0004] In the prior art, symbol-level processing is performed serially, see Figure 2 After receiving the scheduling message, PRB grouping is performed and the target parameters required for symbol-level processing of each PRB group are calculated. Then, after the frequency domain data arrives, the frequency domain data of each PRB group is processed sequentially in a serial simple loop processing manner. Therefore, the total processing time is the sum of the processing time of all PRB groups. The frequency domain data processing time is longer, which leads to higher communication delay. Summary of the Invention

[0005] The purpose of the embodiments of the present application is to provide a frequency domain data processing method, apparatus, electronic device, and storage medium to reduce the processing time of frequency domain data and lower communication latency. The specific technical solution is as follows:

[0006] In a first aspect, an embodiment of the present application provides a frequency domain data processing method, which is applied to an electronic device having multiple processor cores, the method comprising:

[0007] After receiving the scheduling message, the physical resource block PRB is divided into multiple PRB groups;

[0008] Monitoring whether the frequency domain data of each of the PRB groups has arrived;

[0009] If the frequency domain data arrives, the subtasks used to process the frequency domain data of the PRB group will be mounted to each processor core respectively according to the preset subtask mounting rules, and each processor core will be used to process the mounted subtasks in parallel, wherein the preset subtask mounting rules include: each type of subtask corresponds to a corresponding priority, for any PRB group, the subtask of the next priority of the PRB group will be mounted only after the subtask of the previous priority of the PRB group is processed.

[0010] In a possible implementation, the subtasks for processing the PRB group frequency domain data are mounted to each processor core according to a preset subtask mounting rule, including:

[0011] In the case of time division duplex mounting mode, for the PRB group of frequency domain data arriving, after receiving the first handshake flag symbol, the pre-pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule;

[0012] In the case where there are other pilots besides the pre-pilot in the PRB group, after receiving the second handshake flag symbol, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, mount the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed, and if so, mount the balance calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or

[0013] When there are no other pilots except the pre-pilot in the PRB group, after receiving the second handshake flag symbol, it is determined whether the pre-pilot channel estimation subtask of the PRB group is completed. If completed, the other subtasks of the PRB group are mounted to the corresponding processor core according to the preset load balancing rules, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

[0014] In a possible implementation, the subtasks for processing the PRB group frequency domain data are mounted to each processor core according to a preset subtask mounting rule, including:

[0015] In the case of frequency division duplex mounting mode, for the PRB group of frequency domain data arriving, after receiving the second handshake flag symbol, the pre-pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule;

[0016] In the case where there are other pilots besides the pre-pilot in the PRB group, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, mount the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed, and if so, mount the balance calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or

[0017] When no other pilots except the pre-pilot exist in the PRB group, determine whether the pre-pilot channel estimation subtask of the PRB group is completed; if completed, mount the other subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

[0018] In a possible implementation, the determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to a preset load balancing rule, includes:

[0019] Step A: When the zero forcing algorithm is used, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, execute step B;

[0020] Step B, determining whether all pilot channel estimation subtasks of each column of the PRB group are completed, if not, executing step C;

[0021] Step C, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step D;

[0022] In step D, the next column pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule, and the process returns to step B until all columns pilot channel estimation subtasks of the PRB group are mounted.

[0023] In a possible implementation, the determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to a preset load balancing rule, includes:

[0024] Step a1: When the minimum mean square error algorithm is used and the number of PRBs in the PRB group is greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If so, execute steps b1 and b2;

[0025] Step b1: Mount the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule;

[0026] Step b2, determining whether all pilot channel estimation subtasks of each column of the PRB group are completed, if not, executing step b3;

[0027] Step b3, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step b4;

[0028] Step b4: mount the next column pilot channel estimation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step b2 until all columns pilot channel estimation subtasks of the PRB group are mounted.

[0029] In a possible implementation, the determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to a preset load balancing rule, includes:

[0030] Step a2: When the minimum mean square error algorithm is used and the number of PRBs in the PRB group is not greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If so, execute step c1;

[0031] Step c1, determining whether all pilot channel estimation subtasks of the PRB group are completed, if not, executing step c2, if yes, executing step c4;

[0032] Step c2, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step c3;

[0033] Step c3: Mount the next column of pilot channel estimation subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step c1;

[0034] Step c4: When the pilot channel estimation subtasks of each column of the PRB group are completed, the RUU calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

[0035] In a possible implementation, the determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting other subtasks of the PRB group to the corresponding processor core according to a preset load balancing rule, includes:

[0036] In the case of adopting the minimum mean square error algorithm, determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; after the RUU calculation subtask of the PRB group is completed, mounting the balancing calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or

[0037] When the zero forcing algorithm is adopted, it is determined whether the pre-pilot channel estimation subtask of the PRB group is completed. If completed, the balancing calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

[0038] In the second aspect, an embodiment of the present application provides a frequency domain data processing device, which is applied to an electronic device with multiple processor cores, and the device includes: a PRB grouping module, which is used to divide the physical resource block PRB into multiple PRB groups after receiving a scheduling message; a frequency domain data monitoring module, which is used to monitor whether the frequency domain data of each of the PRB groups has arrived; a subtask mounting and processing module, which is used to mount the subtasks used to process the frequency domain data of the PRB group to each processor core respectively according to the preset subtask mounting rules if the frequency domain data arrives, and use each of the processor cores to process the mounted subtasks in parallel, wherein the preset subtask mounting rules include: each type of subtask corresponds to a corresponding priority, and for any PRB group, the subtask of the next priority of the PRB group will be mounted only after the subtask of the previous priority of the PRB group is processed.

[0039] In a possible implementation, the subtask mounting and processing module includes: a pre-pilot channel estimation subtask mounting submodule, which is used to, in the case of adopting a time division duplex mounting mode, mount the pre-pilot channel estimation subtask of the PRB group arriving with frequency domain data to the corresponding processor core after receiving the first handshake flag symbol according to a preset load balancing rule; and a submodule for mounting other pilot channel estimation subtasks, which is used to, in the case of the presence of other pilots in addition to the pre-pilot in the PRB group, determine whether the pre-pilot channel estimation subtask of the PRB group is completed after receiving the second handshake flag symbol, and if completed, mount the other pilot channel estimation subtasks of the other pilots according to the preset load balancing rule. Mounted to the corresponding processor core; determine whether other pilot channel estimation subtasks of the PRB group are completed, and if so, mount the balancing calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or the balancing calculation subtask mounting submodule is used to determine whether the pre-pilot channel estimation subtask of the PRB group is completed after receiving the second handshake flag symbol when there are no other pilots except the pre-pilot in the PRB group, and if completed, mount the other subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

[0040] In a possible implementation, the subtask mounting and processing module includes: a pre-pilot channel estimation subtask mounting submodule for mounting the pre-pilot channel estimation subtask of the PRB group to the corresponding processor core according to a preset load balancing rule after receiving the second handshake flag symbol for the PRB group arriving in the frequency domain data in the case of adopting the frequency division duplex mounting mode; and a submodule for mounting other pilot channel estimation subtasks for determining whether the pre-pilot channel estimation subtask of the PRB group is completed when there are other pilots other than the pre-pilot in the PRB group, and if completed, mounting the other pilot channel estimation subtasks of the other pilots according to the preset load balancing rule. The system comprises the following steps: mounting the pre-pilot channel estimation subtask of the PRB group to the corresponding processor core; judging whether other pilot channel estimation subtasks of the PRB group are completed, and if so, mounting the balancing calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or a balancing calculation subtask mounting submodule, which is used to judge whether the pre-pilot channel estimation subtask of the PRB group is completed when there are no other pilots except the pre-pilot in the PRB group, and if completed, mounting the other subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

[0041] In a possible implementation, the other pilot channel estimation subtask mounting submodule is specifically used to perform the following steps: Step A, when using the zero forcing algorithm, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, execute step B; Step B, determine whether the pilot channel estimation subtasks of each column of the PRB group are all mounted, and if not, execute step C; Step C, determine whether the subtask of the previous priority of the next column of pilot channel estimation subtask is completed, and if so, execute step D; Step D, mount the next column of pilot channel estimation subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to execute step B until the pilot channel estimation subtasks of each column of the PRB group are all mounted.

[0042] In a possible implementation, the other pilot channel estimation subtask mounting submodule is specifically used to perform the following steps: step a1, when the minimum mean square error algorithm is adopted and the number of PRBs in the PRB group is greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, execute steps b1 and b2; step b1, mount the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; step b2, determine whether the pilot channel estimation subtasks of each column of the PRB group are all mounted, and if not, execute step b3; step b3, determine whether the subtask of the previous priority of the next column of pilot channel estimation subtask is completed, and if so, execute step b4; step b4, mount the pilot channel estimation subtask of the next column of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to execute step b2 until the pilot channel estimation subtasks of each column of the PRB group are all mounted.

[0043] In a possible implementation, the other pilot channel estimation subtask mounting submodule is specifically used to perform the following steps: step a2, when the minimum mean square error algorithm is adopted and the number of PRBs in the PRB group is not greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, execute step c1; step c1, determine whether the pilot channel estimation subtasks of each column of the PRB group are all mounted, if not, execute step c2, and if so, execute step c4; step c2, determine whether the subtask of the previous priority of the next column of pilot channel estimation subtask is completed, and if so, execute step c3; step c3, mount the next column of pilot channel estimation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to execute step c1; step c4, when the pilot channel estimation subtasks of each column of the PRB group are all completed, mount the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule.

[0044] In one possible implementation, the balancing calculation subtask mounting submodule is specifically used to: when there are no other pilots except the pre-pilot in the PRB group, determine whether the pre-pilot channel estimation subtask of the PRB group is completed; if completed and when the minimum mean square error algorithm is adopted, then mount the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; after the RUU calculation subtask of the PRB group is completed, mount the balancing calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or if completed and when the zero forcing algorithm is adopted, then mount the balancing calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule.

[0045] In a third aspect, an embodiment of the present application provides an electronic device, including a processor and a memory;

[0046] The memory is used to store computer programs;

[0047] The processor is configured to implement any frequency domain data processing method described in the present application when executing the program stored in the memory.

[0048] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements any frequency domain data processing method described in the present application.

[0049] Beneficial effects of the embodiments of the present application:

[0050] The frequency domain data processing method, device, electronic device and storage medium provided by the embodiment of the present application, after receiving the scheduling message, divides the PRB into multiple PRB groups; monitors whether the frequency domain data of each of the above PRB groups has arrived; if the above frequency domain data has arrived, according to the preset subtask mounting rule, the subtasks for processing the frequency domain data of the PRB group are mounted to each processor core respectively, and the above processor cores are used to process the subtasks mounted respectively in parallel, wherein the above preset subtask mounting rule includes: each type of subtask corresponds to a corresponding priority, for any PRB group, the subtask of the previous priority of the PRB group is processed after the subtask of the next priority of the PRB group is mounted. The frequency domain data processing process of each PRB group is split into a processing process of multiple subtasks, and multiple processor cores are used to process each subtask separately. The subtasks in different PRB groups can be processed in parallel, and the symbol-level processing is changed from serial processing to parallel processing, which can achieve total processing time, reduce communication delay, and effectively utilize system resources, reduce time and memory waste, improve the processing efficiency of the PUSCH module, and improve the resource utilization of the entire system. Of course, it is not necessary to achieve all the advantages described above at the same time when implementing any product or method of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0052] Figure 1 This is a first schematic diagram of a PUSCH symbol-level processing flow in the related art;

[0053] Figure 2 Schematic diagram of the second PUSCH symbol-level processing flow in the related art;

[0054] Figure 3 This is a first schematic diagram of the frequency domain data processing method according to an embodiment of the present application;

[0055] Figure 4 This is a first schematic diagram of the subtask mounting order under different algorithms in the embodiments of this application;

[0056] Figure 5 This is a second schematic diagram of the frequency domain data processing method according to an embodiment of the present application;

[0057] Figure 6 This is a second schematic diagram of the subtask mounting order under different algorithms in the embodiments of this application;

[0058] Figure 7 A schematic diagram of a frequency domain data processing device according to an embodiment of the present application. DETAILED DESCRIPTION

[0059] 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 based on this application are within the scope of protection of this application.

[0060] In order to reduce the processing time of frequency domain data and reduce the communication delay, the embodiment of the present application provides a frequency domain data processing method, which is applied to an electronic device with multiple processor cores. Figure 3 , the method comprising:

[0061] S101: After receiving a scheduling message, divide the PRB into multiple PRB groups.

[0062] The frequency domain data processing method of the embodiment of the present application can be implemented by an electronic device having multiple processor cores. Specifically, the electronic device can be an AAU or a BBU, etc.

[0063] The processor core, also known as the processor core, is the most important component of the processor. It is generally made of single-crystal silicon using a certain production process. All calculations, acceptance / storage of commands, and data processing of the processor are performed by the core.

[0064] During symbol-level processing, after receiving a scheduling message, the PRBs are grouped to obtain PRB groups. In addition, target parameters of each PRB group can be calculated separately. Subsequently, for each PRB group, the target parameters of the PRB group are used for processing frequency domain data in the PRB group.

[0065] S102: Monitor whether the frequency domain data of each of the above PRB groups has arrived.

[0066] Each PRB group includes at least 4 PRBs, which are physical resources used by PRB to carry frequency domain data. The frequency domain data of each PRB group is monitored. Among them, PRB group is a concept in the frequency domain, and the frequency domain data of each PRB group arrives simultaneously in the time domain.

[0067] S103. If the frequency domain data arrives, the subtasks for processing the frequency domain data of the PRB group will be mounted to each processor core respectively according to the preset subtask mounting rules, and each processor core will be used to process the mounted subtasks in parallel, wherein the preset subtask mounting rules include: each type of subtask corresponds to a corresponding priority, for any PRB group, the subtask of the next priority of the PRB group will be mounted only after the subtask of the previous priority of the PRB group is processed.

[0068] Multiple processor cores of an electronic device have parallel processing capabilities. An electronic device having multiple processor cores can be a device having multiple processors or a device having a multi-core processor, all of which are within the scope of protection of this application. In one example, when the electronic device is a BBU, a BBUPOOLING (BBU device pooling) architecture can be used to implement parallel computing.

[0069] In the embodiment of the present application, the processing of frequency domain data in each PRB group is divided into multiple types of subtasks. The specific types of subtasks can be divided according to actual conditions. In order to reduce the situation where the subtask processing time varies greatly due to the large difference in factor task size, in one example, when using the zero forcing algorithm, the subtasks may include a channel estimation subtask and an equalization calculation subtask; when using MMSE (Minimum mean-square error), the subtasks may include a channel estimation subtask, an RUU calculation subtask, and an equalization calculation subtask, where RUU refers to the autocorrelation matrix of the channel frequency response under the MMSE algorithm, thereby realizing the splitting of subtasks according to appropriate subtask processing time and priority, effectively reducing the problem of uneven workload on different processor cores.

[0070] In one example, a processor core may be used to establish a subtask processing process to implement subtask processing, for example, a channel estimation subtask processing process may be established for a channel estimation subtask, an RUU calculation subtask processing process may be established for an RUU calculation subtask, an equalization calculation subtask processing process may be established for an equalization calculation subtask, and the like.

[0071] Each type of subtask corresponds to a corresponding priority. For any PRB group, the subtask of the next priority level will be mounted only after the subtask of the previous priority level is completed. For example, for any PRB group, the RUU calculation subtask and equalization calculation subtask of the PRB group will be mounted only after the channel estimation subtask of the PRB group is completed. The subtasks in different PRB groups are processed in the same order, so the order of mounting subtasks in different PRB groups does not affect each other.

[0072] The resource occupancy rate and implementation efficiency of the symbol-level processing process in the PUSCH channel will affect the performance of the entire wireless system. In the embodiment of the present application, the frequency domain data processing process of each PRB group is split into a processing process of multiple subtasks, and multiple processor cores are used to process each subtask separately. The subtasks in different PRB groups can be processed in parallel, and the symbol-level processing is changed from serial processing to parallel processing. It can reduce the overall processing time of all PRB groups, reduce the communication delay, and effectively utilize system resources, reduce the waste of time and memory, improve the processing efficiency of the PUSCH module, and improve the resource utilization of the entire system.

[0073] For different cell standards and frame structures, symbol-level task mounting includes two modes: time division duplex (TDD) and frequency division duplex (FDD). When using TDD, to save processing time, after receiving the frequency domain data handshake flag, the pre-pilot (i.e., the first column of pilot) channel estimation subtask is mounted on the first handshake flag symbol (generally symbol 3), and the other pilot channel estimation subtasks and equalization calculation subtasks are mounted on the second handshake flag symbol (generally symbol 13). For FDD, since the uplink time slots are adjacent, there is no point in pre-processing them. Therefore, the pre-pilot channel estimation subtask is mounted on the second handshake flag symbol. After the pre-pilot channel estimation subtask is executed, the remaining tasks are automatically mounted according to the task mounting rules and priority.

[0074] In a possible implementation, the subtasks for processing the PRB group frequency domain data are mounted to each processor core according to a preset subtask mounting rule, including:

[0075] Step 1: In the case of time division duplex mounting mode, for the PRB group of frequency domain data arriving, after receiving the first handshake flag symbol, the pre-pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule;

[0076] Step 2: When there are other pilots besides the pre-pilot in the PRB group, after receiving the second handshake flag symbol, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If completed, the other pilot channel estimation subtasks of the other pilots are mounted to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed. If so, the balance calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule; and / or

[0077] Step three, when there are no other pilots except the pre-pilot in the PRB group, after receiving the second handshake flag symbol, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If completed, the other subtasks of the PRB group are mounted to the corresponding processor core according to the preset load balancing rules, wherein the above-mentioned other subtasks include the balancing calculation subtask, or the above-mentioned other subtasks include the balancing calculation subtask and the RUU calculation subtask.

[0078] In one example, when the minimum mean square error algorithm is adopted, the other subtasks include the equalization calculation subtask and the RUU calculation subtask; when the zero forcing algorithm is adopted, the other subtasks include the equalization calculation subtask.

[0079] In a possible implementation, the subtasks for processing the PRB group frequency domain data are mounted to each processor core according to a preset subtask mounting rule, including:

[0080] Step 1: In the case of frequency division duplex mounting mode, for the PRB group of frequency domain data arriving, after receiving the second handshake flag symbol, the pre-pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule;

[0081] Step 2: When there are other pilots besides the pre-pilot in the PRB group, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If completed, mount the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed. If so, mount the balance calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or

[0082] Step three, when there are no other pilots except the pre-pilot in the PRB group, determine whether the pre-pilot channel estimation subtask of the PRB group is completed; if completed, mount the other subtasks of the PRB group to the corresponding processor core according to the preset load balancing rules, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

[0083] In one example, when the minimum mean square error algorithm is adopted, the other subtasks include the equalization calculation subtask and the RUU calculation subtask; when the zero forcing algorithm is adopted, the other subtasks include the equalization calculation subtask.

[0084] The preset load balancing rules can be set according to actual conditions. For example, subtasks can be mounted to each processor core in turn in a round-robin manner, or an idle processor core or a processor core with the least load can be selected as the processor core for mounting the current subtask according to the actual load of each processor core. In one example, the preset load balancing rule can be: before mounting a subtask, traverse each processor core in turn in a preset order until an idle processor core is found, and then mount the subtask on the idle processor core; if no idle processor core is found after traversing all processor cores, traverse again until the traversal time threshold is reached. If the traversal time threshold is exceeded, the mounting is determined to have failed.

[0085] For different balancing methods, the types and mounting orders of subtasks are also different, for example Figure 4 As shown, under the condition that the preceding task is completed, for the zero-forcing algorithm, the next column of pilot channel estimation subtask or equalization calculation subtask is directly mounted; for the minimum mean square error algorithm, it is necessary to determine whether the number of PRBs occupied by the current PRB group is greater than the preset value. If it is greater than the preset value, only the preceding pilot is used to calculate the RUU, and the RUU calculation subtask can be mounted immediately and calculated. Otherwise, all pilots need to be used to calculate the RUU. The mounting and execution of the RUU calculation subtask need to be performed after the last column of pilot channel estimation subtask is completed.

[0086] In a possible implementation, the determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to a preset load balancing rule, includes:

[0087] In step A, when a zero-forcing algorithm is used, it is determined whether the pre-pilot channel estimation subtask for the PRB group is completed. If so, step B is executed. In one example, if not, step A is executed again after waiting for a preset time period. In one example, if the pre-pilot channel estimation subtask for the PRB group is not completed within a specified number of consecutive preset time periods, the current process is abandoned and an error message is sent.

[0088] Step B: determine whether the pilot channel estimation subtasks of each column of the PRB group are all mounted and completed. If not, execute step C.

[0089] Step C: mount the next column pilot channel estimation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to execute step B until all columns pilot channel estimation subtasks of the PRB group are mounted.

[0090] The pilot channel estimation subtasks can be mounted sequentially from the first column to the Nth column. In this case, if the next pilot column is the i-th column, the subtask with the highest priority before the next pilot channel estimation subtask is the i-1-th column pilot channel estimation subtask. In some possible scenarios, such as when using the minimum mean square error algorithm, the subtask with the highest priority before the next pilot channel estimation subtask may also be the RUU subtask.

[0091] In step D, the next column pilot channel estimation subtask of the PRB group is mounted to the processor core corresponding to the corresponding subtask according to the preset load balancing rule, and the process returns to step B until all columns pilot channel estimation subtasks of the PRB group are mounted.

[0092] In a possible implementation, the determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to a preset load balancing rule, includes:

[0093] Step a1, when using the minimum mean square error algorithm and the number of PRBs in the PRB group is greater than a preset value, determines whether the pre-pilot channel estimation subtask of the PRB group is completed. If so, execute steps b1 and b2. For example, step b1 can be executed first and then step b2, or steps b1 and b2 can be executed simultaneously. In one example, if not, wait for a preset time length and then execute step a1 again. In one example, if the pre-pilot channel estimation subtask of the PRB group is not completed within a specified number of preset time lengths, the current processing is abandoned and an error message is sent. The preset value can be customized according to actual conditions, for example, it can be set to 8.

[0094] Step b1: Mount the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule.

[0095] Step b2: determine whether the pilot channel estimation subtasks of each column of the PRB group are all mounted and completed. If not, execute step b3.

[0096] In step b3, it is determined whether the subtask of the previous priority level of the next pilot channel estimation subtask is completed. If so, step b4 is executed. In one example, if not, step b4 is executed again after waiting for a preset time period. In one example, if the subtask of the previous priority level is not completed within a specified number of consecutive preset time periods, the current process is abandoned and an error message is sent.

[0097] Step b4: mount the next column pilot channel estimation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step b2 until all columns pilot channel estimation subtasks of the PRB group are mounted.

[0098] In a possible implementation, the determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to a preset load balancing rule, includes:

[0099] In step a2, if the minimum mean square error algorithm is used and the number of PRBs in the PRB group is not greater than a preset value, determine whether the pre-pilot channel estimation subtask for the PRB group is completed. If so, execute step c1. In one example, if not, wait for a preset time period and then execute step a2 again. In one example, if the pre-pilot channel estimation subtask for the PRB group is not completed within a specified number of consecutive preset time periods, abandon the current process and send an error message.

[0100] Step c1, determining whether all pilot channel estimation subtasks of the PRB group are completed, if not, executing step c2, if yes, executing step c4.

[0101] In step c2, it is determined whether the subtask of the previous priority level of the next pilot channel estimation subtask is completed. If so, step c3 is executed. In one example, if not, step c2 is executed again after waiting for a preset time period. In another example, if the subtask of the previous priority level is not completed within a specified number of consecutive preset time periods, the current process is abandoned and an error message is sent.

[0102] Step c3: mount the next column of pilot channel estimation subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step c1.

[0103] Step c4: When the pilot channel estimation subtasks of each column of the PRB group are completed, the RUU calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

[0104] In the embodiment of the present application, the mounting order of subtasks in different situations is given, which can reduce the problem of unbalanced workload of different processor cores, fully utilize the advantages of multiple processor cores, reduce the overall processing time of all PRB groups, reduce communication latency, and effectively utilize system resources, reduce time and memory waste, improve the processing efficiency of the PUSCH module, and improve the resource utilization of the entire system.

[0105] When the minimum mean square error algorithm is used, the other subtasks include the equalization calculation subtask and the RUU calculation subtask; when the zero forcing algorithm is used, the other subtasks include the equalization calculation subtask. In one possible implementation, the above-mentioned determination of whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, the other subtasks of the PRB group are mounted to the corresponding processor core according to the preset load balancing rules, including:

[0106] In the case of adopting the minimum mean square error algorithm, determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; after the RUU calculation subtask of the PRB group is completed, mounting the balancing calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or

[0107] When the zero forcing algorithm is adopted, it is determined whether the pre-pilot channel estimation subtask of the PRB group is completed. If completed, the balancing calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

[0108] The embodiment of the present application also provides a frequency domain data processing method applied to a BBU, which adopts a BBUPOOLING architecture and includes a multi-core processor. Figure 5 , the method comprising:

[0109] Step 1: Receive and process the scheduling message.

[0110] Step 2: divide the PRB into multiple PRB groups.

[0111] The number of PRB groups is PRB_GROUP_NUM.

[0112] Step 3: Calculate the target parameters of each PRB group respectively.

[0113] For any PRB group, the target parameters of the PRB group include parameters required for channel estimation and equalization calculation of frequency domain data of the PRB group, and may also include parameters required for calculating RUU of the PRB group.

[0114] Step 4: Determine whether the frequency domain data of each PRB group has arrived.

[0115] Step 5: Subtasks are mounted and processed in parallel.

[0116] For the PRB grouping of frequency domain data arriving, the subtask for processing the frequency domain data of the PRB grouping is mounted to each processor core according to the preset subtask mounting rule, and each processor core is used to process the mounted subtask in parallel;

[0117] Step 6: Determine whether all subtasks of the PRB grouping are completed. If not, return to step 5. If so, end this process.

[0118] The splitting and mounting of tasks for parallel processing can fully utilize the advantages of multi-core processors and avoid workload imbalance. However, this parallel processing also requires reasonable setting of task processing time to avoid tasks that are too large and take too long to execute, thereby affecting overall efficiency. In the embodiment of the present application, the subtasks of the PUSCH symbol-level processing part are divided into: channel estimation subtask, RUU calculation subtask, and equalization calculation subtask. Their priorities are sequentially increased to ensure that the tasks of each PRB group are executed in sequence.

[0119] Subtasks are mounted differently for different cell standards and frame structures, depending on time division duplex (TDD) or frequency division duplex (FDD). In TDD mode, to save processing time, after receiving the frequency domain data handshake flag, the first column, the pre-pilot channel estimation task, is mounted at symbol 3, and other pilot channel estimation tasks and equalization tasks are mounted at symbol 13. In FDD mode, because uplink time slots are closely spaced, pre-processing is meaningless. Therefore, only the pre-pilot channel estimation subtask is mounted at symbol 13. After the pre-pilot channel estimation subtask completes, the remaining subtasks are mounted according to the subtask mounting rules and priority, and no subtasks are mounted at symbol 3.

[0120] In the embodiment of the present application, not only the function calculation of PUSCH symbol-level processing is split into tasks according to appropriate duration and priority, but also a set of detailed subtask mounting rules are formulated. According to different system configurations, the conditions for task mounting and execution are set, such as Figure 6As shown, the frequency domain data handshake flag arrives at symbol 3 and symbol 13. The task mounting of both TDD (time division duplex) and FDD (frequency division duplex) scenarios starts after receiving the frequency domain data handshake flag. The pre-pilot channel estimation subtask of TDD is mounted when the handshake flag of symbol 3 arrives, and the pre-pilot task of FDD is mounted when the handshake flag of symbol 13 arrives. Except for the first column of pilots, i.e., the pre-pilot, both TDD and FDD scenarios need to determine whether the pre-task is completed when mounting other tasks. Only when the pre-task is completed can the task be mounted, otherwise it will exit directly. In addition, in the TDD scenario, when mounting CHE1 (CHE1 represents the channel estimation subtask for other column pilots except the pre-pilot channel estimation subtask), RUU calculation subtask, and EQ (EQ is the abbreviation of Equalization, which means equalization in Chinese and is used to represent the equalization calculation subtask) in addition to the pre-pilot, it is also necessary to determine whether the handshake flag of symbol 13 has arrived. The task is mounted and executed only when the frequency domain data handshake flag of symbol 13 has arrived. Otherwise, it exits directly.

[0121] For different balancing methods, the types and mounts of tasks are also different. Figure 4 As shown in the figure: under the condition that the preceding task is completed, for the ZF (Zero Foring) algorithm, the channel estimation subtask CHE1 or the equalization calculation subtask EQ of the next pilot column is directly mounted; for the MMSE algorithm, it is necessary to additionally determine whether the number of PRBs occupied by the current PRB group is greater than 8. If it is greater than 8, only the preceding pilot is used to calculate the RUU, and the RUU calculation subtask can be mounted and calculated immediately. Otherwise, all pilots need to be used to calculate the RUU. The RUU calculation subtask is mounted and executed after the last pilot column completes the CHE1 task.

[0122] The number of CHE1 subtasks is related to the number of additional pilots. The mounting timing of the RUU calculation subtask is related to the number of PRBs in the current PRB group. The main difference between the mounting tasks in TDD and FDD scenarios lies in the mounting conditions of CHE1 and EQ tasks: TDD requires the completion of the predecessor task and the arrival of the symbol 13 handshake flag, while FDD only requires the completion of the predecessor task.

[0123] The present application also provides a frequency domain data processing device, which is applied to an electronic device having multiple processor cores. Figure 7 , the device comprises:

[0124] A PRB grouping module 11 is configured to divide the PRB into a plurality of PRB groups after receiving a scheduling message;

[0125] A frequency domain data monitoring module 12 is used to monitor whether the frequency domain data of each PRB group has arrived;

[0126] The subtask mounting and processing module 13 is used to mount the subtasks for processing the frequency domain data of the PRB group to each processor core respectively according to the preset subtask mounting rules if the frequency domain data arrives, and use each processor core to process the mounted subtasks in parallel, wherein the preset subtask mounting rules include: each type of subtask corresponds to a corresponding priority, for any PRB group, the subtask of the next priority of the PRB group will be mounted only after the subtask of the previous priority of the PRB group is processed.

[0127] In a possible implementation, the subtask mounting and processing module includes:

[0128] The pre-pilot channel estimation subtask mounting submodule is used to mount the pre-pilot channel estimation subtask of the PRB group arriving with frequency domain data to the corresponding processor core according to the preset load balancing rule after receiving the first handshake flag symbol in the case of adopting the time division duplex mounting mode;

[0129] A sub-module for mounting other pilot channel estimation subtasks, configured to, when there are other pilots in the PRB group except the leading pilot, determine whether the leading pilot channel estimation subtask of the PRB group is completed after receiving the second handshake flag symbol, and if so, mount the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed, and if so, mount the balance calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or

[0130] The balancing calculation subtask mounting submodule is used to determine whether the pre-pilot channel estimation subtask of the PRB group is completed after receiving the second handshake flag symbol when there are no other pilots except the pre-pilot in the PRB group. If completed, the other subtasks of the PRB group are mounted to the corresponding processor core according to the preset load balancing rules, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

[0131] In one example, the first handshake flag symbol is the handshake flag symbol 3, and the second handshake flag symbol is the handshake flag symbol 13. In one example, when the minimum mean square error algorithm is used, the other subtasks include the equalization calculation subtask and the RUU calculation subtask; when the zero forcing algorithm is used, the other subtasks include the equalization calculation subtask.

[0132] In a possible implementation, the subtask mounting and processing module includes:

[0133] The pre-pilot channel estimation subtask mounting submodule is used to mount the pre-pilot channel estimation subtask of the PRB group arriving with frequency domain data to the corresponding processor core according to the preset load balancing rule after receiving the second handshake flag symbol in the case of adopting the frequency division duplex mounting mode;

[0134] Other pilot channel estimation subtask mounting submodule is used to determine whether the pre-pilot channel estimation subtask of the PRB group is completed when there are other pilots besides the pre-pilot in the PRB group. If completed, the other pilot channel estimation subtasks of the other pilots are mounted to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed. If so, the balance calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule; and / or

[0135] The balancing calculation subtask mounting submodule is used to determine whether the pre-pilot channel estimation subtask of the PRB group is completed when there are no other pilots except the pre-pilot in the PRB group. If completed, the other subtasks of the PRB group are mounted to the corresponding processor core according to the preset load balancing rules, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

[0136] In one example, when the minimum mean square error algorithm is adopted, the other subtasks include the equalization calculation subtask and the RUU calculation subtask; when the zero forcing algorithm is adopted, the other subtasks include the equalization calculation subtask.

[0137] In a possible implementation manner, the other pilot channel estimation subtask mounting submodule is specifically configured to perform the following steps:

[0138] Step A: When the zero forcing algorithm is used, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, execute step B;

[0139] Step B, determining whether all pilot channel estimation subtasks of each column of the PRB group are completed, if not, executing step C;

[0140] Step C, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step D;

[0141] In step D, the next column pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule, and the process returns to step B until all columns pilot channel estimation subtasks of the PRB group are mounted.

[0142] In a possible implementation manner, the other pilot channel estimation subtask mounting submodule is specifically configured to perform the following steps:

[0143] Step a1: When the minimum mean square error algorithm is used and the number of PRBs in the PRB group is greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If so, execute steps b1 and b2;

[0144] Step b1: Mount the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule;

[0145] Step b2, determining whether all pilot channel estimation subtasks of each column of the PRB group are completed, if not, executing step b3;

[0146] Step b3, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step b4;

[0147] Step b4: mount the next column pilot channel estimation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step b2 until all columns pilot channel estimation subtasks of the PRB group are mounted.

[0148] In a possible implementation manner, the other pilot channel estimation subtask mounting submodule is specifically configured to perform the following steps:

[0149] Step a2: When the minimum mean square error algorithm is used and the number of PRBs in the PRB group is not greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If so, execute step c1;

[0150] Step c1, determining whether all pilot channel estimation subtasks of the PRB group are completed, if not, executing step c2, if yes, executing step c4;

[0151] Step c2, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step c3;

[0152] Step c3: Mount the next column of pilot channel estimation subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step c1;

[0153] Step c4: When the pilot channel estimation subtasks of each column of the PRB group are completed, the RUU calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

[0154] In a possible implementation, the balancing calculation subtask mounting submodule is specifically configured to:

[0155] In the case where there are no other pilots except the preamble pilot in the PRB group, determining whether the preamble pilot channel estimation subtask of the PRB group is completed;

[0156] If completed and when the minimum mean square error algorithm is used, the RUU calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule; after the RUU calculation subtask of the PRB group is completed, the balancing calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule; and / or

[0157] If completed and the zero-forcing algorithm is used, the balancing calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

[0158] An embodiment of the present application further provides an electronic device, comprising: a processor and a memory;

[0159] The aforementioned memory is used to store computer programs;

[0160] When the processor is used to execute the computer program stored in the memory, any frequency domain data processing method described in the present application is implemented.

[0161] In one example, the electronic device may be a BBU. In addition to a processor and a memory, the electronic device may also include other structures in the BBU. For details, please refer to the BBU structure in the related art, which is not specifically limited here.

[0162] The memory may include RAM (Random Access Memory) or NVM (Non-Volatile Memory), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.

[0163] The above-mentioned processor can be a general-purpose processor, including a CPU (Central Processing Unit), an NP (Network Processor), etc.; it can also be a DSP (Digital Signal Processing), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.

[0164] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any frequency domain data processing method described in the present application is implemented.

[0165] In another embodiment provided in the present application, a computer program product including instructions is further provided, which, when executed on a computer, enables the computer to execute any frequency domain data processing method described in the present application.

[0166] 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.

[0167] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive SolidState Disk (SSD)).

[0168] 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.

[0169] The electronic device involved in the embodiments of the present application may be a base station, which may include multiple cells providing services to terminals. Depending on the specific application scenario, the base station may also be called an access point, or may be a device in an access network that communicates with a wireless terminal device through one or more sectors on an air interface, or other names. The network device may 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 may 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 home base station (femto), a pico base station (pico), etc., and 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.

[0170] It should be noted that, in this article, the technical features in each optional solution can be combined to form a solution as long as there is no contradiction, and these solutions are all within the scope disclosed in this application. Relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the term "comprise", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements not only include those elements, but also include other elements not clearly listed, or also include elements inherent to such process, method, article or equipment. In the absence of more restrictions, the elements limited by the sentence "comprising a..." do not exclude the presence of other identical elements in the process, method, article or equipment including the elements.

[0171] Each embodiment in this specification is described in a related manner. Similar portions between the various embodiments can be referenced to each other. Each embodiment focuses on the differences between the other embodiments. In particular, the embodiments of the apparatus, electronic device, computer program product, and storage medium are generally similar to the method embodiments, so their descriptions are relatively simple. For relevant portions, reference can be made to the descriptions of the method embodiments.

[0172] The above description is only a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the scope of protection of the present application.

Claims

1. A frequency domain data processing method, characterized in that: Applied to an electronic device having multiple processor cores, the method includes: After receiving the scheduling message, the physical resource block PRB is divided into multiple PRB groups; Monitoring whether the frequency domain data of each of the PRB groups has arrived; If the frequency domain data arrives, the subtasks for processing the frequency domain data of the PRB group are mounted to each processor core respectively according to the preset subtask mounting rule, and each processor core is used to process the mounted subtasks in parallel, wherein the preset subtask mounting rule includes: each type of subtask corresponds to a corresponding priority, and for any PRB group, the subtask of the next priority of the PRB group will be mounted only after the subtask of the previous priority of the PRB group is processed; The subtasks for processing the PRB group frequency domain data are mounted to each processor core according to a preset subtask mounting rule, including: In the case of time division duplex mounting mode, for the PRB group of frequency domain data arriving, after receiving the first handshake flag symbol, the pre-pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule; In the case where there are other pilots besides the pre-pilot in the PRB group, after receiving the second handshake flag symbol, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, mount the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed, and if so, mount the balance calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or When there are no other pilots except the pre-pilot in the PRB group, after receiving the second handshake flag symbol, it is determined whether the pre-pilot channel estimation subtask of the PRB group is completed. If completed, the other subtasks of the PRB group are mounted to the corresponding processor core according to the preset load balancing rules, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

2. The method according to claim 1, characterized in that The determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule, including: Step A: When the zero forcing algorithm is used, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, execute step B; Step B, determining whether all pilot channel estimation subtasks of each column of the PRB group are completed, if not, executing step C; Step C, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step D; In step D, the next column pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule, and the process returns to step B until all columns pilot channel estimation subtasks of the PRB group are mounted.

3. The method according to claim 1, characterized in that The determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule, including: Step a1: When the minimum mean square error algorithm is used and the number of PRBs in the PRB group is greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If so, execute steps b1 and b2; Step b1: Mount the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; Step b2, determining whether all pilot channel estimation subtasks of each column of the PRB group are completed, if not, executing step b3; Step b3, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step b4; Step b4: mount the next column pilot channel estimation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step b2 until all columns pilot channel estimation subtasks of the PRB group are mounted.

4. The method according to claim 1, wherein The determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule, including: Step a2: When the minimum mean square error algorithm is used and the number of PRBs in the PRB group is not greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If so, execute step c1; Step c1, determining whether all pilot channel estimation subtasks of the PRB group are completed, if not, executing step c2, if yes, executing step c4; Step c2, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step c3; Step c3: Mount the next column of pilot channel estimation subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step c1; Step c4: When the pilot channel estimation subtasks of each column of the PRB group are completed, the RUU calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

5. The method according to claim 1, wherein The determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting other subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, includes: In the case of adopting the minimum mean square error algorithm, determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; after the RUU calculation subtask of the PRB group is completed, mounting the balancing calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or When the zero forcing algorithm is adopted, it is determined whether the pre-pilot channel estimation subtask of the PRB group is completed. If completed, the balancing calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

6. A frequency domain data processing method, characterized in that: Applied to an electronic device having multiple processor cores, the method includes: After receiving the scheduling message, the physical resource block PRB is divided into multiple PRB groups; Monitoring whether the frequency domain data of each of the PRB groups has arrived; If the frequency domain data arrives, the subtasks for processing the frequency domain data of the PRB group are mounted to each processor core respectively according to the preset subtask mounting rule, and each processor core is used to process the mounted subtasks in parallel, wherein the preset subtask mounting rule includes: each type of subtask corresponds to a corresponding priority, and for any PRB group, the subtask of the next priority of the PRB group will be mounted only after the subtask of the previous priority of the PRB group is processed; The subtasks for processing the PRB group frequency domain data are mounted to each processor core according to a preset subtask mounting rule, including: In the case of frequency division duplex mounting mode, for the PRB group of frequency domain data arriving, after receiving the second handshake flag symbol, the pre-pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule; In the case where there are other pilots besides the pre-pilot in the PRB group, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, mount the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed, and if so, mount the balance calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or When no other pilots except the pre-pilot exist in the PRB group, determine whether the pre-pilot channel estimation subtask of the PRB group is completed; if completed, mount the other subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

7. The method according to claim 6, characterized in that The determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule, includes: Step A: When the zero forcing algorithm is used, determine whether the pre-pilot channel estimation subtask of the PRB group is completed, and if so, execute step B; Step B, determining whether all pilot channel estimation subtasks of each column of the PRB group are completed, if not, executing step C; Step C, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step D; In step D, the next column pilot channel estimation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule, and the process returns to step B until all columns pilot channel estimation subtasks of the PRB group are mounted.

8. The method according to claim 6, characterized in that The determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule, includes: Step a1: When the minimum mean square error algorithm is used and the number of PRBs in the PRB group is greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If so, execute steps b1 and b2; Step b1: Mount the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; Step b2, determining whether all pilot channel estimation subtasks of each column of the PRB group are completed, if not, executing step b3; Step b3, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step b4; Step b4: mount the next column pilot channel estimation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step b2 until all columns pilot channel estimation subtasks of the PRB group are mounted.

9. The method according to claim 6, characterized in that The determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule, includes: Step a2: When the minimum mean square error algorithm is used and the number of PRBs in the PRB group is not greater than a preset value, determine whether the pre-pilot channel estimation subtask of the PRB group is completed. If so, execute step c1; Step c1, determining whether all pilot channel estimation subtasks of the PRB group are completed, if not, executing step c2, if yes, executing step c4; Step c2, determining whether the subtask of the previous priority of the next column of pilot channel estimation subtasks is completed, if so, executing step c3; Step c3: Mount the next column of pilot channel estimation subtasks of the PRB group to the corresponding processor core according to the preset load balancing rule, and return to step c1; Step c4: When the pilot channel estimation subtasks of each column of the PRB group are completed, the RUU calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

10. The method according to claim 6, characterized in that The determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting other subtasks of the PRB group to the corresponding processor core according to a preset load balancing rule, includes: In the case of adopting the minimum mean square error algorithm, determining whether the pre-pilot channel estimation subtask of the PRB group is completed, and if completed, mounting the RUU calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; after the RUU calculation subtask of the PRB group is completed, mounting the balancing calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or When the zero forcing algorithm is adopted, it is determined whether the pre-pilot channel estimation subtask of the PRB group is completed. If completed, the balancing calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule.

11. A frequency domain data processing device, characterized in that: Applicable to an electronic device having multiple processor cores, the device comprises: A PRB grouping module is used to divide the PRB into multiple PRB groups after receiving the scheduling message; A frequency domain data monitoring module, configured to monitor whether the frequency domain data of each of the PRB groups has arrived; A subtask mounting and processing module is used to mount the subtasks for processing the frequency domain data of the PRB group to each processor core respectively according to the preset subtask mounting rules if the frequency domain data arrives, and use each of the processor cores to process the mounted subtasks in parallel, wherein the preset subtask mounting rules include: each type of subtask corresponds to a corresponding priority, and for any PRB group, the subtask of the next priority of the PRB group will be mounted only after the subtask of the previous priority of the PRB group is processed; The subtask mounting and processing module includes: The pre-pilot channel estimation subtask mounting submodule is used to mount the pre-pilot channel estimation subtask of the PRB group arriving with frequency domain data to the corresponding processor core according to the preset load balancing rule after receiving the first handshake flag symbol in the case of adopting the time division duplex mounting mode; A sub-module for mounting other pilot channel estimation subtasks, configured to, when there are other pilots in the PRB group except the leading pilot, determine whether the leading pilot channel estimation subtask of the PRB group is completed after receiving the second handshake flag symbol, and if so, mount the other pilot channel estimation subtasks of the other pilots to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed, and if so, mount the balance calculation subtask of the PRB group to the corresponding processor core according to the preset load balancing rule; and / or The balancing calculation subtask mounting submodule is used to determine whether the pre-pilot channel estimation subtask of the PRB group is completed after receiving the second handshake flag symbol when there are no other pilots except the pre-pilot in the PRB group. If completed, the other subtasks of the PRB group are mounted to the corresponding processor core according to the preset load balancing rules, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

12. A frequency domain data processing device, characterized in that: Applicable to an electronic device having multiple processor cores, the device comprises: A PRB grouping module is used to divide the PRB into multiple PRB groups after receiving the scheduling message; A frequency domain data monitoring module, configured to monitor whether the frequency domain data of each of the PRB groups has arrived; A subtask mounting and processing module is used to mount the subtasks for processing the frequency domain data of the PRB group to each processor core respectively according to the preset subtask mounting rules if the frequency domain data arrives, and use each of the processor cores to process the mounted subtasks in parallel, wherein the preset subtask mounting rules include: each type of subtask corresponds to a corresponding priority, and for any PRB group, the subtask of the next priority of the PRB group will be mounted only after the subtask of the previous priority of the PRB group is processed; The subtask mounting and processing module includes: The pre-pilot channel estimation subtask mounting submodule is used to mount the pre-pilot channel estimation subtask of the PRB group arriving with frequency domain data to the corresponding processor core according to the preset load balancing rule after receiving the second handshake flag symbol in the case of adopting the frequency division duplex mounting mode; Other pilot channel estimation subtask mounting submodule is used to determine whether the pre-pilot channel estimation subtask of the PRB group is completed when there are other pilots besides the pre-pilot in the PRB group. If completed, the other pilot channel estimation subtasks of the other pilots are mounted to the corresponding processor core according to the preset load balancing rule; determine whether the other pilot channel estimation subtasks of the PRB group are completed. If so, the balance calculation subtask of the PRB group is mounted to the corresponding processor core according to the preset load balancing rule; and / or The balancing calculation subtask mounting submodule is used to determine whether the pre-pilot channel estimation subtask of the PRB group is completed when there are no other pilots except the pre-pilot in the PRB group. If completed, the other subtasks of the PRB group are mounted to the corresponding processor core according to the preset load balancing rules, wherein the other subtasks include the balancing calculation subtask, or the other subtasks include the balancing calculation subtask and the RUU calculation subtask.

13. An electronic device, characterized in that: including processor and memory; The memory is used to store computer programs; The processor is configured to implement the frequency domain data processing method according to any one of claims 1 to 10 when executing the program stored in the memory.

14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the frequency domain data processing method according to any one of claims 1 to 10 is implemented.

Citation Information

Patent Citations

  • Group-Based Resource Element Mapping for Radio Transmission of Data

    US20160028513A1