Image determination method and device, equipment, medium and product

By allocating radar echo data on a multi-core processor and performing Fourier transform butterfly operation, the problem of low FFT computing efficiency is solved, and higher computing speed and better versatility and ductility are achieved.

CN119576533APending Publication Date: 2025-03-07SHANGHAI SMARTLOGIC TECHNOLOGY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411615418.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-13
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

In applications such as radar imaging and terahertz communication, the number of points of FFT is usually very large, resulting in huge computing overhead and storage overhead, affecting computing efficiency.

Method used

By allocating radar echo data on a multi-core processor, the data is allocated according to the number of cores, the total number of data and the preset butterfly level number, the target data range processed by each core is determined, and the Fourier transform butterfly operation is performed through each core to obtain a two-dimensional image.

Benefits of technology

Through reasonable data allocation, each kernel reaches the optimal computing state, which improves the overall computing rate, and the number of kernels can be configured arbitrarily, improving the universality and ductility of the method.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119576533A_ABST
    Figure CN119576533A_ABST
Patent Text Reader

Abstract

The invention discloses an image determination method and device, equipment, a medium and a product, the method is applied to a multi-core processor, the multi-core processor at least comprises two cores, and the method comprises the following steps: obtaining radar echo data and the number of cores included in the multi-core processor; distributing the radar echo data according to the number of the kernels, the total number of the data and the number of preset butterfly levels, and determining a target data range processed by each kernel; and through each kernel, performing Fourier transform butterfly operation on the target data in the target data range according to a preset butterfly level to obtain a two-dimensional image. And processing data of each kernel is reasonably distributed according to the total data quantity, the kernel quantity and the preset butterfly level quantity, and a plurality of kernels perform butterfly operation and inter-kernel rapid data transmission in parallel to obtain a two-dimensional image. Each kernel reaches the optimal calculation state through data distribution, the overall calculation rate is improved, the number of the kernels can be configured, and the universality and ductility of the method are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of signal processing technology, and in particular to an image determination method, device, equipment, medium and product. Background Art

[0002] Fast Fourier Transform (FFT) is a fast algorithm for calculating discrete Fourier transform (DFT) and its inverse transform. It is widely used in signal processing, communication, biomedicine, aerospace and other fields.

[0003] Butterfly operation is the basic operation unit of FFT. For N-point FFT, there are log2N levels of butterfly operation, and each level of butterfly contains N / 2 butterfly units, that is, it always includes N inputs, N intermediate results / outputs and N / 2*log2N butterfly factors. Taking 8-point FFT as an example, there are log28=3 levels of butterfly operation, and each level of butterfly has 8 / 2=4 butterfly units. The output of the previous level of butterfly is used as the input of the next level of butterfly. Conventional N-point FFT calculation requires (2+log2N / 2)*N complex number storage space.

[0004] However, in applications such as radar imaging and terahertz communication, the number of FFT points is usually extremely large. Since the spectral resolution of FFT is positively correlated with its number of points, the larger the number of FFT points, the higher its resolution. When the number of points N is very large, the computational overhead and storage overhead are extremely large, affecting the computational efficiency. Summary of the invention

[0005] The present invention provides an image determination method, device, equipment, medium and product to improve the FFT calculation efficiency.

[0006] According to a first aspect of the present invention, there is provided an image determination method, which is applied to a multi-core processor, wherein the multi-core processor includes at least two cores, and the method includes:

[0007] Acquiring radar echo data and the number of cores including cores in the multi-core processor;

[0008] Allocating the radar echo data according to the number of cores, the total number of radar echo data, and the number of preset butterfly levels, and determining a target data range processed by each core;

[0009] Through each of the kernels, Fourier transform butterfly operation is performed on the target data within the target data range in the radar echo data according to a preset butterfly level to obtain a two-dimensional image.

[0010] According to a second aspect of the present invention, there is provided an image determination device, which is applied to a multi-core processor, wherein the multi-core processor includes at least two cores, and the device includes:

[0011] A data acquisition module, used to acquire radar echo data and the number of cores including cores in the multi-core processor;

[0012] A range determination module, used for allocating the radar echo data according to the number of cores, the total number of radar echo data and the number of preset butterfly levels, and determining the target data range processed by each core;

[0013] The image determination module is used to perform Fourier transform butterfly operation on the target data within the target data range in the radar echo data according to a preset butterfly level through each of the kernels to obtain a two-dimensional image.

[0014] According to a third aspect of the present invention, there is provided an electronic device, the electronic device comprising:

[0015] at least one processor; and

[0016] a memory communicatively connected to the at least one processor; wherein,

[0017] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the image determination method described in any embodiment of the present invention.

[0018] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the image determination method described in any embodiment of the present invention when executed.

[0019] According to another aspect of the present invention, an embodiment of the present invention further provides a computer program product, the computer program product includes a computer program, and when the computer program is executed by a processor, the image determination method of any embodiment of the present invention is implemented.

[0020] The technical solution of the embodiment of the present invention is applied to a multi-core processor, which includes at least two cores. Radar echo data and the number of cores in the multi-core processor including the core are obtained through the multi-core processor; the radar echo data is allocated according to the number of cores, the total number of data of the radar echo data and the preset number of butterfly levels, and the target data range processed by each core is determined; through each core, Fourier transform butterfly operation is performed on the target data within the target data range in the radar echo data according to the preset butterfly level to obtain a two-dimensional image. The data processed by each core is reasonably allocated according to the total number of data, the number of cores and the preset number of butterfly levels, and multiple cores perform butterfly operations and fast data transmission between cores in parallel to obtain a two-dimensional image. Through reasonable data allocation, each core can reach the optimal computing state, thereby improving the overall computing rate. The number of cores can be arbitrarily configured, which improves the versatility and scalability of the method.

[0021] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0023] Figure 1 is a flowchart of an image determination method provided according to Embodiment 1 of the present invention;

[0024] Figure 2 is a flowchart of an image determination method provided according to Embodiment 2 of the present invention;

[0025] Figure 3 is an example diagram of butterfly processing of an image determination method provided in Embodiment 2 of the present invention;

[0026] Figure 4 is another butterfly processing example diagram of an image determination method provided according to the second embodiment of the present invention;

[0027] Figure 5 is a structural schematic diagram of an image determination device provided according to Embodiment 3 of the present invention;

[0028] Figure 6 It is a schematic diagram of the structure of an electronic device implementing an embodiment of the present invention. DETAILED DESCRIPTION

[0029] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0030] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0031] Embodiment 1

[0032] Figure 1 A flowchart of an image determination method is provided for the first embodiment of the present invention. This embodiment is applicable to Fourier transform calculations under multiple points. The method can be executed by an image determination device. The image determination device can be implemented in the form of hardware and / or software. The image determination device can be configured in an electronic device and applied to a multi-core processor. The multi-core processor includes at least two cores and a common storage space (each core is readable and writable). Each core is composed of a computing component and an in-core storage. The storage of different cores can perform fast data transmission.

[0033] like Figure 1 As shown, the method includes:

[0034] S110, acquiring radar echo data and the number of cores including the core in the multi-core processor.

[0035] In this embodiment, radar echo data can be understood as the signal returned after the electromagnetic waves emitted by the radar system interact with the target object. These echo signals contain key information about the distance, speed, shape and material of the target object. The core can be understood as the hardware component required to perform basic operations and logical operations. The number of cores can be understood as the total number of cores used for calculation in a multi-core processor.

[0036] Specifically, the radar echo data collected by the radar can be obtained through any core in the multi-core processor, and the number of cores including the core in the pre-set multi-core processor can be obtained.

[0037] S120, allocating the radar echo data according to the number of cores, the total number of radar echo data, and the number of preset butterfly levels, and determining a target data range to be processed by each core.

[0038] In this embodiment, the total amount of data can be understood as the total amount of data contained in the radar echo data. The preset number of butterfly levels can be understood as the number of levels of butterfly operations performed by each kernel according to the preset kernel butterfly level, for example, it can be 2 levels of butterfly operations. The target data range can be understood as the data to be processed at each butterfly operation level of each kernel.

[0039] Specifically, the processor can determine the maximum number of target data that each core can process based on the relationship between the total number of radar echo data, the number of preset butterfly levels and the number of cores, group the cores, and determine each group of each core and the target data range corresponding to each group at different butterfly operation levels according to a certain selection interval and the number of target data.

[0040] S130. Through each kernel, Fourier transform butterfly operation is performed on the target data within the target data range in the radar echo data according to a preset butterfly level to obtain a two-dimensional image.

[0041] In this embodiment, the preset butterfly level can be understood as the total number of butterfly operations. The target data can be understood as the data processed by each kernel.

[0042] Specifically, each kernel determines the target data to be processed at the first level in the preset butterfly level in the radar echo data based on the target data range, each kernel performs butterfly operation on the target data to be processed at the first level, obtains the output result of the butterfly operation, and determines the target data to be processed at the second level in the preset butterfly level in the output result based on the target data range, each kernel performs butterfly operation again on the target data to be processed at the second level, and so on, until the highest level in the preset butterfly level is completed, the output result of the butterfly operation at the highest level is obtained, the radar echo data is converted from the time domain to the frequency domain, thereby separating the distance and speed information, and generating a two-dimensional image containing the target position and speed information.

[0043] The technical solution of the embodiment of the present invention is applied to a multi-core processor, which includes at least two cores. Radar echo data and the number of cores in the multi-core processor including the core are obtained through the multi-core processor; the radar echo data is allocated according to the number of cores, the total number of data of the radar echo data and the preset number of butterfly levels, and the target data range processed by each core is determined; through each core, Fourier transform butterfly operation is performed on the target data within the target data range in the radar echo data according to the preset butterfly level to obtain a two-dimensional image. The data processed by each core is reasonably allocated according to the total number of data, the number of cores and the preset number of butterfly levels, and multiple cores perform butterfly operations and fast data transmission between cores in parallel to obtain a two-dimensional image. Through reasonable data allocation, each core can reach the optimal computing state, thereby improving the overall computing rate. The number of cores can be arbitrarily configured, which improves the versatility and scalability of the method.

[0044] Embodiment 2

[0045] Figure 2 This is a flow chart of an image determination method provided in Embodiment 2 of the present invention. This embodiment is a further refinement of the above embodiment. Figure 2 As shown, the method includes:

[0046] S210, obtaining radar echo data and the number of cores including the core in the multi-core processor.

[0047] S220 , determining the number of kernel groups at each butterfly level according to the number of kernels, the total number of radar echo data, and the number of preset butterfly levels.

[0048] In this embodiment, the number of groups can be understood as the number of groups required for running different levels of butterfly operations in each core.

[0049] Specifically, any core in the multi-core processor can determine the total number of butterfly operations included in the preset butterfly level based on the total number of radar echo data and the preset number of butterfly levels, determine the number of sub-level butterfly operations in each level of operation based on the total number of butterfly operations, and further determine the number of data of sub-level butterfly operations at each preset butterfly level based on the number of sub-level butterfly operations. Based on the number of data divided by the number of cores, the number of groupings of cores at each preset butterfly level can be determined.

[0050] Exemplarily, radar echo data with a total data quantity of N can be split into two large-scale butterfly operations with a preset butterfly level number of 2, with a total of log2N levels of butterfly operations. Suppose the first large-level butterfly operation processes L1 sub-level butterfly operations, then the number of operations of each sub-level in the first large-level butterfly operation is N1=2^L1, and there are a total of G1=N / N1 groups of sub-butterfly operation tasks; suppose the second large-level butterfly operation processes L2 levels of butterflies, then the number of operations of each sub-level in the second large-level butterfly operation is N2=2^L2, and there are a total of G2=N / N2 groups of sub-FFT tasks. Since L1+L2=log2N, N1*N2=N, G1=N2, G2=N1. From the above theory, it can be concluded that the tasks of each large level are evenly distributed to a multi-core processor with M cores for parallel processing. Then, each core of the first-level butterfly operation contains N2 / M groups, and each group processes N1 radar echo data. Each core of the second-level butterfly operation contains N1 / M groups, and each group processes N2 radar echo data. After the first-level butterfly operation is completed, the M cores exchange data before performing the second-level calculation.

[0051] S230 , for each butterfly level, determine the number of group data of each group in each kernel according to the number of groups and the total amount of data at the butterfly level.

[0052] In this embodiment, the group data quantity can be understood as the total amount of data processed by each group.

[0053] Specifically, for each butterfly level, the kernel may divide the total amount of data by the number of groups at each butterfly level to obtain the number of group data for each group in each kernel.

[0054] S240, determining the target data range processed by each core according to the butterfly level, the number of group data and the radar echo data.

[0055] Specifically, the kernel can perform interval selection in the radar echo data according to the determined intervals according to the number of group data at the first level of the butterfly level, and determine the target data range at the first level; since the data at the remaining butterfly levels are all selected from the calculation results of the previous butterfly level, the target data range at other levels can be obtained by selecting from the calculation results of the previous level according to the number of group data corresponding to other butterfly levels and the determined corresponding intervals.

[0056] Further, based on the above embodiment, the step of determining the target data range processed by each kernel according to the butterfly level, the number of group data and the radar echo data can be refined as follows:

[0057] If the butterfly level is the lowest level, the first target data range of each first group at the lowest level is determined according to the first group number and the amount of the first group data at the lowest level; otherwise, the second group number and the amount of the second group data at the current level are determined, and the second group number is used as the second data selection interval; according to the second data selection interval and the amount of the second group data, the second target data range of each second group at the current level is determined; each first target data range and each second target data range are used as the target data range.

[0058] In this embodiment, the lowest level can be understood as the first butterfly operation performed. The first group number can be understood as the number of groups included in the lowest level. The first group represents each group at the lowest level. The first data quantity can be understood as the data quantity of each first group. The first target data range can be understood as the target data range corresponding to each first group. The current level can be understood as other levels except the lowest level. The second group number can be understood as the number of groups at the current level. The second group data quantity can be understood as the data quantity of each second group. The second data selection interval can be understood as the data interval used when selecting the second group. The second target data range can be understood as the target data range corresponding to each second group.

[0059] Specifically, if the butterfly level is the lowest level, the kernel can determine the first target data range of each first group at the lowest level according to the first group number, the number of first group data, its own number and the group number at the lowest level; otherwise, determine the second group number and the number of second group data at the current level, and use the second group number as the second data selection interval. Each kernel can determine the second target data range of each second group at the current level according to its own number, group number, second data selection interval and the number of second group data; and use each first target data range and each second target data range as the target data range.

[0060] Exemplarily, after all the cores of the first level have completed the calculation, data interaction is performed between the cores. The first data of the calculation results of each group of N1 points of each core (a total of M cores) (a total of N2 / M groups) is transmitted to core 1 (a total of M*N2 / M=N2 numbers) as the input of the N2 points of the first group of core 1 at the second level (the order of input data is arranged in ascending order by group and core: that is, the first point of the first group of core 1, the first point of the second group of core 1...the first point of the N2 / M group of core 1, the first point of the first group of core 2, the first point of the second group of core 2...), and the second data of each group of each core is sent to core 1 as the input of the second group of N2 points of the core, and so on. A total of N1 / M times are executed, and core 1 finally obtains To N1 / M groups of N2 point target data, similarly, the 1+N1 / M point data of each core in each group is the 1st group input of core 2...the 2*N1 / M point data of each core in each group is the N1 / Mth group input of core 2, and the above process is repeated until all cores obtain the input data for the second level calculation. The jth group of N2 points of the ith core is composed of the j+(i-1)*N1 / M point data of the calculation results of each core in each group of the first level (i=1,2…M; j=1,2…N1 / M), that is, the second target data range is j+(i-1)*N1 / M, where i represents the kernel number, j represents the group number, and N1 / M represents the number of the second group of data.

[0061] Among them, based on the above embodiment, the step of determining the first target data range of each first group at the lowest level according to the number of first groups at the lowest level and the amount of first group data can be refined as follows:

[0062] Determine the next level of the lowest level and the next group of data quantity of the next level; determine the first data selection interval based on the first group number and the next group of data quantity; determine the first target data range of each first group at the lowest level based on the first group number and the first data selection interval.

[0063] In this embodiment, the next level can be understood as the previous level of the lowest level, that is, the second level. The number of the next group of data can be understood as the number of group data of the second level. The first data selection interval can be understood as the interval when the first group selects the target data.

[0064] Specifically, each kernel can first determine the next level of the lowest level and the number of the next group of data at the next level, determine the first data selection interval based on the first group number and the next group of data, and determine the first target data range of each first group at the lowest level based on its own number, group number, the first group of data and the first data selection interval.

[0065] Exemplarily, starting from the 1st point, the number of the next group of data is N2, and one data is taken every N2 points, and a total of N1 data (the 1st point, the 1st+N2 point, the 1st+2*N2 point...the 1st+(N1-1)*N2 point) is taken as the first target data range of the 1st group of core 1. Starting from the 2nd point, data is taken every N2 points to obtain N1 data points as the first target data range of the 2nd group of core 1. And so on, a total of N2 / M times are performed to obtain the first target data range of N1 in N2 / M groups of core 1. Starting from the 1st+N2 / M point, data is taken every N2 points to obtain the 1st group input of core 2...Starting from the 2nd*N2 / M point, data is taken every N2 points to obtain the N2 / Mth group input of core 2. Repeat the above process until all cores are assigned to N2 / M groups of data, that is, the first data selection interval of core 1 is N2. The kth data point of the i-th core j-th group is the (i-1)*N2 / M+j+(k-1)*N2(i=1,2…M;j=1,2…N2 / M;k=1,2…N1)th radar echo data. The number of the first group of data is N1, that is, the first target data range is (i-1)*N2 / M+j+(k-1)*N2.

[0066] Exemplary, using a specific example to show, Figure 3 This is an example diagram of butterfly processing of an image determination method provided in the second embodiment of the present invention, such as Figure 3 As shown, assuming that the total number of radar echo data is N, the number of kernels is M, the number of preset butterfly levels is 2, the number of first groups is N2 / M, the number of first group data is N1, that is, each kernel includes N2 / M first groups, each first group includes N1 data, and each kernel contains N1*N2 / M data; the number of the next group is N1 / M, and the number of the next group data is N2. In the first large level, the target data of the jth group of N2 points of the i-th kernel is composed of the (i-1)*N2 / M+j+(k-1)*N2 (i=1,2…M;j=1,2…N2 / M;k=1,2…N1) of the radar echo data; in the second large level, it is composed of the j+(i-1)*N1 / M point data of each group of calculation results of each kernel in the first large level (i=1,2…M;j=1,2…N1 / M).

[0067] S250 . For each kernel, determine, in the radar echo data, first target data in a first target data range in the target data range.

[0068] In this embodiment, the first target data can be understood as data to be processed by each first group.

[0069] Specifically, for each core, the radar echo data stored in the common storage space may be searched for the first target data in the first target data range in the target data range.

[0070] S260 , by presetting the butterfly level as the first group at the lowest level, performing butterfly operation on the first target data according to the preset kernel butterfly level to obtain first result data.

[0071] In this embodiment, the preset kernel butterfly level can be understood as the level of butterfly operation performed inside each kernel. The first result data can be understood as the result of butterfly operation performed on each first group.

[0072] Specifically, each kernel may perform a butterfly operation on the first target data according to the preset kernel butterfly level by setting the preset butterfly level to the first group at the lowest level to obtain the first result data.

[0073] S270. Determine, in each first result data, second target data within a second target data range within the target data range.

[0074] Specifically, for each core, the second target data under the second target data range in the target data range may be searched in the first result data stored between the cores.

[0075] S280 , performing butterfly operation on the second target data according to the preset kernel butterfly level through the second grouping with the preset butterfly level as the second level, to obtain second result data.

[0076] Specifically, each kernel may perform a butterfly operation on the second target data according to the preset kernel butterfly level by setting the preset butterfly level to the second group of the second level to obtain the second result data.

[0077] S290: Determine a two-dimensional image according to each second result data.

[0078] Specifically, since the order of data will change after the butterfly operation and will be different from the initial radar echo data, after all kernel calculations are completed, each kernel can output the second result data in sequence to a public storage space, and obtain data in the correct order in the public storage space, and then determine the two-dimensional image through the data in the correct order.

[0079] Further, based on the above embodiment, the step of determining the two-dimensional image according to each second result data can be refined as follows:

[0080] Data is extracted from the second result data of each second group according to a preset extraction order to obtain data results sorted in the original order; and a two-dimensional image is obtained based on the data results.

[0081] In this embodiment, the preset extraction order can be understood as the extraction order used to determine the original order. The original order can be understood as the data arrangement order in the radar echo data. The data result can be understood as the data result after FFT processing in the same order as the radar echo data.

[0082] Specifically, each kernel may extract data from the second result data of each second group according to a preset extraction order and output the data to a common storage space to obtain data results in the original order, and generate a two-dimensional image through the data results.

[0083] The technical solution of the embodiment of the present invention is to group each kernel under each butterfly level by the total number of data, the number of kernels and the number of preset butterfly levels, determine the number of groups for each kernel to process different butterfly levels, and then determine the number of group data corresponding to each group by the number of groups and the total number of data. Since the data of other subsequent butterfly levels except the first butterfly level are all derived from the results of the previous butterfly level processing, and the data to be processed by the first butterfly level comes from the original radar echo data, it can be divided into two data range determination methods. When the butterfly level is the lowest level, the first target data range to be processed by each first group can be determined by the first group number, the first group data number and the next group data number of the next level; when the butterfly level is not the lowest level, the second data selection interval can be determined according to the second group number under the current level, and then the second target data range of the second group can be determined. Each kernel performs butterfly operation and fast data transmission between kernels on the target data under different target data ranges in parallel to obtain second result data, and the data result after the original order sorting is obtained by sorting the second result data, and then a two-dimensional image is obtained by the data result. Through reasonable data allocation, each core can achieve the best computing state, thereby improving the overall computing rate. The number of cores can be arbitrarily configured, which improves the versatility and scalability of the method. The computing speed is one order of magnitude faster than traditional GPUs. In addition, each core contains storage, which reduces the overall storage overhead.

[0084] Exemplary, using a specific example to show, Figure 4 Another butterfly processing example diagram of an image determination method provided by the second embodiment of the present invention is shown in FIG. Figure 4As shown, assuming there are 2 cores, the total number of radar echo data is 16, there are 4 butterfly levels, the preset number of butterfly levels is two large levels, and the preset kernel butterfly levels of the first and second large levels are set to process 2 butterfly levels. Then each core processes 2 groups of 4-point FFTs at each level. Suppose the input data is x(0), x(1)...x(15). First, perform the first level calculation. According to the above target data range, take 1 data every 4 points. Then the first group of FFT data points of core 1 are x(0), x(4), x(8) , x(12), the second group of data is x(1), x(5), x(9), x(13), the first group of data is subjected to conventional FFT operation, the input is x(0), x(8), x(4), x(12) after being arranged in reverse order (0, 1, 2, 3 is reversed to 0, 2, 1, 3) the low to high 1 is 01 and the reverse order is 10, which is consistent with the butterfly operation in the blue box in the figure above, the output is a(0), a(1), a(2), a(3), similarly the second group of output is c(0), c(1), c(2 ), c(3), the first group output of core 2 is b(0), b(1), b(2), b(3), and the second group output is d(0), d(1), d(2), d(3). Next, the second level calculation is performed. The first number of each group output of the first level is taken as the input of the first group of core 1, that is, a(0), c(0), b(0), d(0). After reversing the bit order, they are a(0), b(0), c(0), d(0), which is consistent with the red line butterfly operation in the figure above. The output is X(0), X(4), X( Similarly, the second group of inputs of core 1 are a(1), c(1), b(1), d(1), and the outputs are X(1), X(5), X(9), X(13). The first group of outputs of core 2 are X(2), X(6), X(10), X(14), and the second group of outputs are X(3), X(7), X(11), X(15). The final outputs in positive order are X(0), X(1), X(2), X(3), X(4)…X(15) in the order of group, core, and point traversal.

[0085] For example, assume that the total number of radar echo data is 65536, and there are 16 cores. Set the first and second levels to process 8 levels of butterfly, and each core processes 16 groups of 256-point FFTs at each level. Suppose the input data is x(0), x(1)...x(65535). In the first level calculation, one data point is taken every 256 points. The first group of input data points of core 1 are x(0), x(256), x(512)...x(65280), and the second group of input data points are x(1), x(257), x(513)...x(65281)... A total of 16 groups are taken and sent to core 1. Similarly, the first group of input data of core 2 is x(16), x(272), x(528)...x(65296)... After allocating 16 groups of 256-point input data to each core, calculation is performed. After all cores have completed the calculation, each core sends the 1st to 16th points of each group of calculation results to core 1, the 17th to 32nd points to core 2... the 241st to 256th points to core 16. Each core will receive 16*16=256 16-point data packets, and select the same point of each data packet to form a set of inputs for the second-level calculation. For example, select the first point of each packet to form the first group of inputs (the data packet selection order is core 1 group 1, core 1 group 2...core 1 group 16, core 2 group 1, core 2 group 2...), and then each core performs the second-level calculation. After all cores have completed the calculation, the calculation results of each core and group in the second level are extracted in the order of group, core, and point traversal (core 1 group 1 point 1, core 1 group 2 point 1...core 1 group 16 point 1, core 2 group 1 point 1...core 16 group 1 point 1, core 1 group 1 point 2, core 1 group 2 point 2...) to obtain the final positive sequence output.

[0086] Embodiment 3

[0087] Figure 5 This is a schematic diagram of the structure of an image determination device provided in Embodiment 3 of the present invention. The device is applied to a multi-core processor, and the multi-core processor includes at least two cores.

[0088] like Figure 5 As shown, the device comprises:

[0089] A data acquisition module 51, used to acquire radar echo data and the number of cores including cores in the multi-core processor;

[0090] A range determination module 52, configured to allocate the radar echo data according to the number of cores, the total number of radar echo data, and the number of preset butterfly levels, and determine a target data range processed by each core;

[0091] The image determination module 53 is used to perform Fourier transform butterfly operation on the target data within the target data range in the radar echo data according to a preset butterfly level through each of the kernels to obtain a two-dimensional image.

[0092] The technical solution of the embodiment of the present invention is applied to a multi-core processor, which includes at least two cores. Radar echo data and the number of cores in the multi-core processor including the core are obtained through the multi-core processor; the radar echo data is allocated according to the number of cores, the total number of data of the radar echo data and the preset number of butterfly levels, and the target data range processed by each core is determined; through each core, Fourier transform butterfly operation is performed on the target data within the target data range in the radar echo data according to the preset butterfly level to obtain a two-dimensional image. The data processed by each core is reasonably allocated according to the total number of data, the number of cores and the preset number of butterfly levels, and multiple cores perform butterfly operations and fast data transmission between cores in parallel to obtain a two-dimensional image. Through reasonable data allocation, each core can reach the optimal computing state, thereby improving the overall computing rate. The number of cores can be arbitrarily configured, which improves the versatility and scalability of the method.

[0093] Furthermore, the data acquisition module 51 includes:

[0094] A first determining unit, configured to determine the number of groups of the kernels at each butterfly level according to the number of kernels, the total number of data of the radar echo data, and the number of preset butterfly levels;

[0095] A second determining unit is used to determine, for each of the butterfly levels, the number of group data of each group in each of the kernels according to the number of groups under the butterfly level and the total amount of data;

[0096] The third determining unit is used to determine the target data range processed by each core according to the butterfly level, the number of the group data and the radar echo data.

[0097] Wherein, the third determining unit includes:

[0098] A first determining subunit, configured to determine, if the butterfly level is the lowest level, a first target data range of each first group at the lowest level according to the number of first groups and the amount of first group data at the lowest level;

[0099] A second determining subunit is used for otherwise determining the second group number and the amount of the second group data of the current level, and using the second group number as the second data selection interval;

[0100] A third determining subunit is used to determine the second target data range of each second group at the current level according to the second data selection interval and the amount of the second group of data;

[0101] The fourth determining subunit is configured to use each of the first target data ranges and each of the second target data ranges as the target data range.

[0102] Wherein, the first determining subunit is specifically used for:

[0103] Determine the next level of the lowest level and the next set of data quantity of the next level;

[0104] Determine a first data selection interval according to the first group number and the next group number of data;

[0105] According to the first group data quantity and the first data selection interval, a first target data range of each first group at the lowest level is determined.

[0106] Furthermore, the image determination module 53 includes:

[0107] a fourth determining unit, configured to determine, for each of the kernels, first target data in a first target data range in the target data range in the radar echo data;

[0108] A fifth determining unit, configured to perform a butterfly operation on the first target data according to a preset kernel butterfly level through a first group whose preset butterfly level is the lowest level, to obtain first result data;

[0109] a sixth determining unit, configured to determine, in each of the first result data, second target data within a second target data range within the target data range;

[0110] A seventh determining unit, configured to perform a butterfly operation on the second target data according to a preset kernel butterfly level through the second grouping whose preset butterfly level is a second level, to obtain second result data;

[0111] An eighth determining unit is configured to determine a two-dimensional image according to each of the second result data.

[0112] Wherein, the eighth determining unit is specifically used for:

[0113] Extract data from the second result data of each of the second groups according to a preset extraction order to obtain data results sorted in the original order;

[0114] A two-dimensional image is obtained according to the data results.

[0115] The image determination device provided in the embodiment of the present invention can execute the image determination method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0116] Embodiment 4

[0117] Figure 6A schematic diagram of the structure of an electronic device 60 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0118] like Figure 6 As shown, the electronic device 60 includes at least one processor 61, and a memory connected to the at least one processor 61, such as a read-only memory (ROM) 62, a random access memory (RAM) 63, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 61 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 62 or the computer program loaded from the storage unit 68 to the random access memory (RAM) 63. In the RAM 63, various programs and data required for the operation of the electronic device 60 can also be stored. The processor 61, the ROM 62, and the RAM 63 are connected to each other via a bus 64. An input / output (I / O) interface 65 is also connected to the bus 64.

[0119] A number of components in the electronic device 60 are connected to the I / O interface 65, including: an input unit 66, such as a keyboard, a mouse, etc.; an output unit 67, such as various types of displays, speakers, etc.; a storage unit 68, such as a disk, an optical disk, etc.; and a communication unit 69, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 69 allows the electronic device 60 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0120] The processor 61 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 61 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 61 performs the various methods and processes described above, such as an image determination method.

[0121] In some embodiments, the image determination method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 68. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 60 via the ROM 62 and / or the communication unit 69. When the computer program is loaded into the RAM 63 and executed by the processor 61, one or more steps of the image determination method described above may be performed. Alternatively, in other embodiments, the processor 61 may be configured to perform the image determination method in any other suitable manner (e.g., by means of firmware).

[0122] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0123] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0124] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0125] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0126] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0127] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0128] In one embodiment, the present invention further includes a computer program product, the computer program product includes a computer program, and when the computer program is executed by a processor, the image determination method of any embodiment of the present invention is implemented.

[0129] In the process of implementation, the computer program product can be written in one or more programming languages ​​or a combination thereof to perform the computer program code of the present invention, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, using an Internet service provider to connect through the Internet).

[0130] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0131] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. An image determination method, characterized in that: Applied to a multi-core processor, the multi-core processor includes at least two cores, the method includes: Acquiring radar echo data and the number of cores including cores in the multi-core processor; Allocating the radar echo data according to the number of cores, the total number of radar echo data, and the number of preset butterfly levels, and determining a target data range processed by each core; Through each of the kernels, a Fourier transform butterfly operation is performed on the target data within the target data range in the radar echo data according to a preset butterfly level to obtain a two-dimensional image.

2. The method according to claim 1, characterized in that The allocating the radar echo data according to the number of cores, the total number of data of the radar echo data and the number of preset butterfly levels, and determining the target data range processed by each core, comprises: Determine the number of groups of the kernels at each butterfly level according to the number of kernels, the total number of data of the radar echo data, and the number of preset butterfly levels; For each of the butterfly levels, determining the number of group data of each group in each of the kernels according to the number of groups under the butterfly level and the total number of data; The target data range processed by each core is determined according to the butterfly level, the number of the group data and the radar echo data.

3. The method according to claim 2, characterized in that The determining the target data range processed by each kernel according to the butterfly level, the number of group data and the radar echo data includes: If the butterfly level is the lowest level, determining the first target data range of each first group at the lowest level according to the first group number and the first group data quantity at the lowest level; Otherwise, determining the second group number and the amount of the second group data of the current level, and using the second group number as the second data selection interval; Determine the second target data range of each second group at the current level according to the second data selection interval and the amount of the second group of data; Each of the first target data ranges and each of the second target data ranges are used as the target data range.

4. The method according to claim 3, characterized in that The determining, according to the number of first groups and the amount of first group data at the lowest level, the first target data range of each first group at the lowest level comprises: Determine the next level of the lowest level and the next set of data quantity of the next level; Determine a first data selection interval according to the first group number and the next group number of data; According to the first group data quantity and the first data selection interval, a first target data range of each first group at the lowest level is determined.

5. The method according to claim 1, characterized in that The method of performing a Fourier transform butterfly operation on the target data within the target data range in the radar echo data according to a preset butterfly level through each of the kernels to obtain a two-dimensional image includes: For each of the kernels, determining first target data in a first target data range in the target data range in the radar echo data; By presetting the butterfly level as the first group with the lowest level, performing butterfly operation on the first target data according to the preset kernel butterfly level, to obtain first result data; Determine, in each of the first result data, second target data within a second target data range within the target data range; By using the second grouping whose preset butterfly level is the second level, performing butterfly operation on the second target data according to the preset kernel butterfly level, to obtain second result data; A two-dimensional image is determined according to each of the second result data.

6. The method according to claim 5, characterized in that Determining a two-dimensional image according to each of the second result data includes: Extract data from the second result data of each of the second groups according to a preset extraction order to obtain data results sorted in the original order; A two-dimensional image is obtained according to the data results.

7. An image determination device, characterized in that: Applied to a multi-core processor, the multi-core processor includes at least two cores, and the device includes: A data acquisition module, used to acquire radar echo data and the number of cores including cores in the multi-core processor; A range determination module, used for allocating the radar echo data according to the number of cores, the total number of radar echo data and the number of preset butterfly levels, and determining the target data range processed by each core; The image determination module is used to perform Fourier transform butterfly operation on the target data within the target data range in the radar echo data according to a preset butterfly level through each of the kernels to obtain a two-dimensional image.

8. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the image determination method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the image determination method according to any one of claims 1 to 6 when executed.

10. A computer program product, characterized in that The computer program product comprises a computer program, which, when executed by a processor, implements the image determination method according to any one of claims 1 to 6.