A matrix operation acceleration method and system for radar data processing

CN123029496APending Publication Date: 2026-11-03XIATU (BEIJING) TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611528901.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-30
Publication Date
2026-11-03

AI Technical Summary

Technical Problem

Existing radar data processing methods struggle to balance the accuracy of matrix operations with the efficiency of data transmission and processing latency between the edge and the cloud, especially when the number of receiving channels and pulses is large, resulting in increased transmission latency and decreased processing efficiency.

Method used

The edge end divides the complex echo data into data slices according to pulse sequence, range unit and receiving channel, and multiplies them with submatrices of the Doppler transform matrix. After obtaining the matrix product, it is only uploaded to the cloud. The cloud determines the slice order according to the phase continuity and accumulates the matrix product. The edge end continues to generate the next slice until all accumulation is completed.

Benefits of technology

While reducing the amount of data transmission and processing latency between the edge and the cloud, it ensures the accuracy and processing efficiency of cross-shard matrix operation results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123029496A_ABST
    Figure CN123029496A_ABST
Patent Text Reader

Abstract

The application provides a matrix operation acceleration method and system for radar data processing, and belongs to the technical field of radar signal processing. The application processes radar data in cooperation with an edge end and a cloud end. The edge end divides complex echo data into fragments according to pulse intervals, distance units and receiving channels, generates a reference signal in combination with a transmission pulse sequence, multiplies the same Doppler transformation sub-matrix with the fragment data and the reference signal respectively, uploads the first and second matrix products to the cloud end after obtaining the first and second matrix products. The cloud end determines the pulse order of each fragment according to the phase continuity of the second matrix product and accumulates the first matrix product, and simultaneously feeds back the subsequent pulse number for the edge end to generate the next data fragment. The cycle is repeated until the accumulation of all fragments under the same distance unit and channel is completed, and finally the distance Doppler matrix is written. The application can accurately complete the pulse coherent accumulation across fragments under the condition that only the compressed matrix product data is transmitted between the edge end and the cloud end.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of radar signal processing technology, and in particular relates to a matrix operation acceleration method and system for radar data processing. Background Technology

[0002] Pulse Doppler radar requires matrix operations such as Doppler transformation on complex echo data corresponding to multiple receiving channels, range cells, and pulses within the coherent processing interval to obtain the range-Doppler matrix for subsequent target detection and tracking. With the continuous increase in the number of receiving channels and pulses, the data scale of matrix operations grows rapidly. Improving computational efficiency and reducing data transmission overhead while ensuring processing accuracy has become an important research direction in radar data processing, and also provides broad application prospects for edge computing and cloud computing collaborative processing of radar data.

[0003] In existing radar data processing methods, some schemes involve edge devices deployed close to the radar front end performing local matrix operations on the echo data within the coherent processing interval to obtain target detection results, which are then uploaded to the cloud. Other schemes upload the complete complex echo data within the coherent processing interval to the cloud, where Doppler transformation and other matrix operations are centrally performed to obtain the range Doppler matrix for each receiving channel.

[0004] However, edge-based solutions that independently perform local matrix operations lack effective means to coordinate the order and phase of cross-segment data with the cloud, making it difficult to support processing modes that divide echo data into multiple segments, process them separately, and then accurately accumulate them. On the other hand, solutions that upload the complete complex echo data to the cloud place high demands on the transmission bandwidth and real-time performance between the edge and the cloud. In radar data processing scenarios with a large number of receiving channels and pulses and limited transmission link capacity, this can easily lead to increased transmission latency and decreased processing efficiency. Therefore, existing radar data processing methods face the technical challenge of simultaneously ensuring the accuracy of matrix operation processing while also considering data transmission efficiency and processing latency between the edge and the cloud. Summary of the Invention

[0005] The purpose of this application is to provide a matrix operation acceleration method and system for radar data processing, so as to solve the problem that existing radar data processing methods are difficult to ensure the accuracy of matrix operation processing while taking into account the data transmission efficiency and processing latency between the edge and the cloud.

[0006] To address the aforementioned technical problems, in a first aspect, this application provides a matrix operation acceleration method for radar data processing, comprising: At the edge, the complex echo data within the coherent processing interval is divided into data slices according to the pulse sequence interval, range unit sequence number and receiving channel sequence number, and the reference signal corresponding to each data slice is determined according to the transmitted pulse sequence; The edge device will multiply the sub-matrix selected from the Doppler transformation matrix corresponding to the pulse number interval of the current data segment with the current data segment and the corresponding reference signal to obtain the first matrix product and the second matrix product, and send the first matrix product, the second matrix product, the pulse number interval of the current data segment, the distance cell number, and the receiving channel number to the cloud. The cloud determines the pulse order of the data slices based on the phase continuity between the pulse sequence number interval and the second matrix product corresponding to the adjacent data slices. It sequentially accumulates the elements with the same Doppler sequence number in each first matrix product under the same distance unit sequence number and receiving channel sequence number, and sends the pulse sequence number after the termination sequence number of the current pulse sequence number interval to the edge end. The edge device determines the next data slice based on the next pulse sequence number, and re-determines the first matrix product, second matrix product, pulse sequence number interval, distance unit sequence number and receiving channel sequence number corresponding to the next data slice and sends them to the cloud. After the cloud performs the summation of all first matrix products under the same distance cell number and receiving channel number, the resulting Doppler data vector is written into the distance-Doppler matrix of the corresponding receiving channel number.

[0007] Optionally, the column number of each column in the Doppler transformation matrix is ​​the same as the pulse number of the corresponding pulse within the coherent processing interval, each row in the Doppler transformation matrix corresponds to a Doppler number, and each element in the Doppler transformation matrix is ​​a complex transformation coefficient.

[0008] Optionally, the edge determines the next data slice based on the sequence number of the next pulse, including: The pulse number obtained by subtracting the preset number of overlapping pulses from the pulse number after the edge end is the starting number, and the pulse number obtained by adding the preset number of segmented pulses to the starting number and subtracting the value one is the ending number. Complex echo data whose pulse sequence number is within the range of the start sequence number to the end sequence number, and whose distance cell sequence number and receive channel sequence number are the same as those of the current data segment, are determined as the next data segment.

[0009] Optionally, the first matrix product, second matrix product, pulse sequence number interval, distance cell number, and receive channel number corresponding to the next data fragment are redefined and sent to the cloud, including: At the edge, the pulse sequence number interval consisting of the start sequence number to the end sequence number is determined as the pulse sequence number interval of the next data segment, and the distance unit sequence number and the receiving channel sequence number of the current data segment are determined as the distance unit sequence number and the receiving channel sequence number of the next data segment, respectively. Using the signal with the same pulse number in the pulse number interval of the next data segment as the reference signal in the transmitted pulse sequence, the submatrix in the Doppler transformation matrix corresponding to the pulse number interval of the next data segment is multiplied by the next data segment and the reference signal respectively to obtain the initial first matrix product and the second matrix product corresponding to the next data segment. Multiply the submatrix corresponding to the intersection of the pulse number intervals of the current data segment and the next data segment in the Doppler transformation matrix with the complex echo data within the intersection of the pulse number intervals to obtain the overlapping first matrix product; Based on the phase difference between the same Doppler index element in the second matrix product of the current data slice and the next data slice, rotate the initial first matrix product and the overlapping first matrix product, calculate the difference between the rotated initial first matrix product and the overlapping first matrix product, obtain the first matrix product corresponding to the next data slice, and send it to the cloud.

[0010] Optionally, the reference signal corresponding to each data slice is determined based on the transmitted pulse sequence, including: At the edge, signal values ​​with the same pulse number are extracted sequentially from the transmitted pulse sequence according to the pulse number interval of each data segment. Arrange the signal values ​​in ascending order of pulse number to obtain the reference signal corresponding to each data slice.

[0011] Optionally, the edge end multiplies the sub-matrix selected from the Doppler transform matrix corresponding to the pulse number interval of the current data segment with the current data segment and the corresponding reference signal to obtain a first matrix product and a second matrix product, including: At the edge, select columns in the Doppler transform matrix whose column numbers are the same as the pulse numbers within the pulse number interval of the current data segment; Following the pulse sequence number in ascending order, the elements corresponding to each Doppler sequence number in the selected column are written into the intersection of the row corresponding to the Doppler sequence number and the column corresponding to the pulse sequence number in the submatrix to obtain the submatrix corresponding to the current data segment. Multiply the submatrix with the current data pieces, and obtain the first matrix product according to the order of the Doppler indices in the submatrix; Multiply the submatrix by the reference signal corresponding to the current data slice, and obtain the second matrix product according to the order of the Doppler indices in the submatrix.

[0012] Optionally, the cloud determines the pulse order of the data slices based on the phase continuity between the pulse sequence interval and the second matrix product corresponding to adjacent data slices, including: The cloud divides data fragments under the same distance unit number and receiving channel number, as well as the second matrix product corresponding to the data fragments, into the same data fragment group; Select the first and second data slices with adjacent pulse sequence intervals from the same data slice group, and calculate the phase difference between the elements with the same Doppler sequence in the second matrix product of the first and second data slices; When the start and end numbers of the pulse sequence interval of the first data segment are both less than the start and end numbers of the pulse sequence interval of the second data segment, and each phase difference is within the preset phase difference range, the first data segment is placed before the second data segment. When the start and end numbers of the pulse sequence interval of the second data segment are both less than the start and end numbers of the pulse sequence interval of the first data segment, and each phase difference is within the preset phase difference range, the second data segment is placed before the first data segment.

[0013] Optionally, after the cloud performs the accumulation of all first matrix products under the same range cell number and receiving channel number, the resulting Doppler data vector is written into the range-Doppler matrix of the corresponding receiving channel number, including: The cloud reads the cumulative results of the first matrix product elements corresponding to each Doppler number under the same distance cell number and receiving channel number in ascending order of Doppler number, and writes each cumulative result into the element position with the same Doppler number in the Doppler data vector; Write the element corresponding to each Doppler index in the Doppler data vector into the intersection position of the row corresponding to the distance element index and the column corresponding to the Doppler index in the distance-Doppler matrix corresponding to the receiving channel index.

[0014] Secondly, this application provides a matrix operation acceleration system for radar data processing, comprising: The segmentation module is used at the edge end to divide the complex echo data within the coherent processing interval into data slices according to the pulse sequence interval, range unit sequence number and receiving channel sequence number, and to determine the reference signal corresponding to each data slice based on the transmitted pulse sequence; The calculation module is used at the edge to multiply the sub-matrix selected from the Doppler transformation matrix corresponding to the pulse number interval of the current data segment with the current data segment and the corresponding reference signal to obtain the first matrix product and the second matrix product, and then send the first matrix product, the second matrix product, the pulse number interval of the current data segment, the distance cell number, and the receiving channel number to the cloud. The calculation module is also used to determine the pulse order of data slices in the cloud based on the phase continuity between the pulse sequence number interval and the second matrix product corresponding to adjacent data slices, sequentially accumulate the elements with the same Doppler sequence number in each first matrix product under the same distance unit sequence number and receiving channel sequence number, and send the pulse sequence number after the termination sequence number of the current pulse sequence number interval to the edge end. The determination module is used at the edge to determine the next data slice based on the next pulse sequence number, and to re-determine the first matrix product, second matrix product, pulse sequence number interval, distance unit sequence number and receiving channel sequence number corresponding to the next data slice and send them to the cloud. The writing module is used to accumulate all the first matrix products under the same distance cell number and receiving channel number in the cloud, and then write the resulting Doppler data vector into the distance Doppler matrix of the corresponding receiving channel number.

[0015] Thirdly, this application provides an electronic device, comprising: Memory, used to store computer programs; A processor, configured to implement the steps of the matrix operation acceleration method for radar data processing as described in the first aspect above when executing the computer program.

[0016] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the steps of the matrix operation acceleration method for radar data processing as described in the first aspect above.

[0017] The matrix operation acceleration method for radar data processing provided in this application divides complex echo data into data slices locally at the edge, and calculates the first matrix product and the second matrix product using the Doppler transform sub-matrix, respectively. Only the matrix product and slice identification information are uploaded to the cloud, thereby significantly reducing the amount of data that needs to be transmitted. Subsequently, the cloud determines the pulse sequence corresponding to each slice based on the phase continuity of the second matrix product, and accumulates the first matrix product under the same range cell and receiving channel in this order, ensuring the correct splicing of the slice processing results.

[0018] Then, the edge device continuously generates subsequent data fragments based on the next pulse sequence number fed back from the cloud and repeats the above process until the cloud completes the accumulation of all fragments and writes them into the distance-Doppler matrix. Therefore, this method effectively reduces the amount of data transmission and processing latency between the edge device and the cloud while ensuring the accuracy of the cross-fragment matrix operation results.

[0019] Furthermore, in this application, the column index of each column in the Doppler transform matrix is ​​the same as the pulse index of the corresponding pulse within the coherent processing interval, each row corresponds to a Doppler index, and each element is a complex transform coefficient. This structure allows the edge processing unit to accurately select the corresponding submatrix from the Doppler transform matrix based on the pulse index interval of the current data slice, avoiding computational errors caused by mismatch between the matrix structure and the slice pulse index. Simultaneously, this regularized row-column correspondence facilitates the edge processing unit in quickly constructing corresponding submatrices for data slices with different pulse index intervals, reducing redundant computation overhead. Therefore, this method, while supporting sliced ​​matrix operations, further improves the accuracy and processing efficiency of submatrix selection and matrix multiplication calculation. Attached Figure Description

[0020] To more clearly illustrate the technical solutions of the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 A flowchart illustrating a matrix operation acceleration method for radar data processing provided in an embodiment of this application; Figure 2 A flowchart illustrating the process of determining the pulse sequence is provided for an embodiment of this application. Figure 3 A schematic diagram illustrating the overlapping relationship of adjacent data fragments provided in an embodiment of this application; Figure 4 This is a schematic diagram of a matrix operation acceleration system for radar data processing provided in an embodiment of this application. Detailed Implementation

[0022] Schemes that allow edge-end independent local matrix operations lack effective means of coordinating the order and phase of cross-segment data with the cloud, making it difficult to support processing modes that divide echo data into multiple segments, process them separately, and then accurately accumulate them. On the other hand, schemes that upload complete complex echo data to the cloud place high demands on the transmission bandwidth and real-time performance between the edge and the cloud. In radar data processing scenarios with a large number of receiving channels and pulses and limited transmission link capacity, this can easily lead to increased transmission latency and decreased processing efficiency. This contradiction stems from the fact that existing solutions have failed to establish a collaborative processing mechanism between the edge and the cloud that can both compress the amount of transmitted data and ensure accurate splicing of cross-segment operation results. Therefore, a segmented collaborative processing method that can balance data transmission efficiency and processing accuracy is urgently needed.

[0023] To address the aforementioned issues, this application proposes a matrix operation acceleration method for radar data processing. Its core lies in enabling interaction between the edge and cloud ends via matrix multiplication rather than using complete echo data, thus achieving coordinated processing of segmented data and accurate accumulation across segments. Specifically, the edge end divides the complex echo data within the coherent processing interval into data segments according to pulse sequence intervals, range cell numbers, and receiving channel numbers. Then, it multiplies the current data segment and the reference signal using the corresponding submatrices in the Doppler transformation matrix, obtaining a first matrix product and a second matrix product. Only the matrix product and segment identification information are uploaded to the cloud.

[0024] The cloud determines the pulse order of each data slice based on the phase continuity between the same Doppler index element in the second matrix product. It then accumulates the first matrix product under the same range cell and receiving channel in this order, feeding back the subsequent pulse sequence numbers to the edge end for continuous generation of the next data slice and repeating the above process until all slices are accumulated and written into the range-Doppler matrix. This method abandons the traditional approach of independent edge processing lacking cross-slice collaboration, or centralized cloud processing relying on complete data transmission. Through the sliced ​​calculation of matrix product and the phase-ordered accumulation mechanism, it significantly reduces the amount of data transmitted between the edge end and the cloud while ensuring the accuracy of cross-slice matrix operation results. This solves the technical problem in existing technologies of balancing radar data processing accuracy and transmission latency.

[0025] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are merely some embodiments of the present application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0026] To address the problems of the prior art, embodiments of this application provide a method, apparatus, device, computer storage medium, and computer program product for accelerating matrix operations in radar data processing. The matrix operation acceleration method for radar data processing provided in this application embodiment will be described first below.

[0027] Figure 1 A schematic flowchart of a matrix operation acceleration method for radar data processing according to an embodiment of this application is shown. Figure 1 As shown, the method includes: S101, The edge end divides the complex echo data within the coherent processing interval into data slices according to the pulse sequence interval, range unit sequence number and receiving channel sequence number, and determines the reference signal corresponding to each data slice according to the transmitted pulse sequence.

[0028] Complex echo data refers to the raw echo data acquired by the radar front-end within a coherent processing interval for multiple receiving channels, multiple range cells, and multiple pulses. It can be a three-dimensional complex data structure indexed by pulse sequence number, range cell sequence number, and receiving channel sequence number. Each element is a complex value composed of the amplitude and phase information of the echo signal under the corresponding pulse sequence number, range cell sequence number, and receiving channel sequence number. A pulse sequence number interval refers to a continuous range of pulse sequence numbers consisting of a start pulse sequence number and a stop pulse sequence number, used to identify a set of continuous pulses corresponding to a data slice. A data slice is a subset of data extracted from the complex echo data according to a specific pulse sequence number interval, a specific range cell sequence number, and a specific receiving channel sequence number. It can be a set of all complex echo data elements corresponding to the receiving channel sequence number under the specified range cell sequence number within that pulse sequence number interval.

[0029] Assume that the coherent processing interval includes a total of There are 1 pulse, and the pulse number is denoted as . and Values ​​range from 1 to In total There are 1 distance unit, and the distance unit number is denoted as . and Values ​​range from 1 to In total There are one receiving channel, and the receiving channel number is denoted as... and Values ​​range from 1 to Then the complex echo data can be represented as ,in For the first The receiving channel, the first The distance unit below the first The complex echo value corresponding to each pulse.

[0030] The edge end sets a preset number of slice pulses before the start of the coherent processing interval. and preset number of overlapping pulses ,in In this embodiment, It is a non-negative integer. The first pulse number interval is... to The starting number of each subsequent pulse sequence interval is the sum of the ending number of the previous pulse sequence interval plus one and minus [the number of pulses in the interval]. The ending sequence number is the starting sequence number plus... Subtract one from the end. The ending sequence number of the last pulse sequence number interval is... .

[0031] For each distance cell number at the edge end and receiving channel number The combination of these elements establishes an independent fragment generation state. At the start of the coherent processing interval, the edge ends are generated solely based on the pulse sequence interval. to Complex echo data is extracted and initial data fragments are generated. After the cloud confirms the order of these initial data fragments, it sends the next pulse sequence number to the edge device. The edge device generates the corresponding next data fragment based on the received next pulse sequence number. Each data fragment is uniquely identified by a pulse sequence number range, a distance unit sequence number, and a receiving channel sequence number. The pre-determining of the pulse sequence number range is only used to determine the generation order and does not indicate that the edge device will build and upload all data fragments at the initial moment.

[0032] Optionally, the process of determining the reference signal corresponding to each data slice based on the transmitted pulse sequence in step S101 may specifically include: S1011. At the edge end, according to the pulse sequence number range of each data segment, the signal values ​​with the same pulse sequence number are extracted sequentially from the transmitted pulse sequence.

[0033] A transmitted pulse sequence refers to a sequence of reference waveform data corresponding to each pulse number transmitted by the radar within a coherent processing interval. It can be a one-dimensional complex data sequence indexed by pulse numbers, where each element is a complex representation of the transmitted signal at the corresponding pulse number, providing fundamental data for determining the reference signal. A signal value is a complex element in the transmitted pulse sequence corresponding to a specific pulse number, representing the amplitude and phase information of the transmitted signal at that pulse number.

[0034] Let the transmitted pulse sequence be represented as and Values ​​range from 1 to , For the first Each pulse corresponds to a complex value of the transmitted signal. For a given data segment, let the starting pulse number of that segment be... The termination pulse number is The edge ends are arranged according to the pulse sequence number. to The order is as follows: sequentially search for the pulse number in the transmitted pulse sequence. , Until Extract the same signal values ​​sequentially. , … This yields a set of signal values ​​corresponding to the pulse sequence number interval of the data segment.

[0035] S1012. Arrange the signal values ​​in ascending order of pulse number to obtain the reference signal corresponding to each data segment.

[0036] The reference signal is a complex sequence consisting of a set of signal values ​​corresponding to a certain data segment pulse number interval in the transmitted pulse sequence, arranged in pulse number order. It is used to represent the phase change pattern of the transmitted signal within the corresponding pulse number interval of the data segment.

[0037] Regarding the signal value extracted from S1011 , … At the edge, the signal values ​​are arranged sequentially in ascending order of pulse number to obtain a length of A complex vector, denoted as ,in The The elements are , Values ​​range from 1 to The complex vector is the reference signal corresponding to the data slice. For each data slice obtained from the edge division, the extracted signal values ​​are arranged in the above manner to obtain the reference signal corresponding to each data slice. The order of the elements in the reference signal is consistent with the order of the complex echo data in the corresponding data slice according to the pulse sequence number, thereby ensuring that the reference signal can share the same Doppler transform submatrix with the data slice for matrix multiplication.

[0038] S102, the edge end multiplies the sub-matrix selected from the Doppler transformation matrix corresponding to the pulse number interval of the current data segment with the current data segment and the corresponding reference signal to obtain the first matrix product and the second matrix product, and sends the first matrix product, the second matrix product, the pulse number interval of the current data segment, the distance cell number, and the receiving channel number to the cloud.

[0039] Optionally, in step S102, the column number of each column in the Doppler transformation matrix is ​​the same as the pulse number of the corresponding pulse within the coherent processing interval, each row in the Doppler transformation matrix corresponds to a Doppler number, and each element in the Doppler transformation matrix is ​​a complex transformation coefficient.

[0040] The Doppler transform matrix is ​​a complex matrix used to perform Doppler transform on complex echo data. Each column's column number corresponds to the pulse number of the pulse within the coherent processing interval, each row corresponds to a Doppler number, and each element is a complex transform coefficient, reflecting the phase correspondence between a specific Doppler number and a specific pulse number. A submatrix is ​​a matrix formed by selecting corresponding columns from the Doppler transform matrix according to the pulse number interval of the current data slice. It is used to perform Doppler transform operations on the current data slice and the reference signal respectively.

[0041] Assume that the coherent processing interval includes a total of Each Doppler index is denoted as [number of indexes]. and Values ​​range from 1 to The Doppler transformation matrix is ​​denoted as Its number of rows is The number of columns is , No. Line number The elements of a column are denoted as ,but It can be represented as: in For the first The Doppler sequence number and the first The complex transform coefficients corresponding to each pulse sequence number are determined by the definition of the Doppler transform and can be discrete Fourier transform coefficients or other forms of complex exponential coefficients. The Doppler transform matrix... It is pre-built and stored at the edge, and can be directly called when processing each data shard without repeated calculations.

[0042] Optionally, the process in step S102 where the edge end multiplies the sub-matrix selected from the Doppler transform matrix corresponding to the pulse number interval of the current data segment with the current data segment and the corresponding reference signal to obtain the first matrix product and the second matrix product can specifically include: S1021. At the edge end, select the column whose column number is the same as the pulse number of each pulse in the pulse number interval of the current data segment in the Doppler transformation matrix.

[0043] The pulse sequence number range of the current data fragment is: to ,include Pulse sequence number. Edge end from Doppler transform matrix Select column number as to of The column serves as the source of column data for the corresponding submatrix of the current data shard.

[0044] S1022. Following the pulse sequence number from smallest to largest, write the elements corresponding to each Doppler sequence number in the selected column into the intersection position of the row corresponding to the Doppler sequence number and the column corresponding to the pulse sequence number in the submatrix to obtain the submatrix corresponding to the current data segment.

[0045] Submatrix denoted as Its number of rows is The number of columns is . No. Row corresponding Doppler sequence number , No. Column corresponding pulse number ,in, The value is to The elements of the submatrix satisfy... submatrix The column order, the arrangement order of complex echo data in the current data slice, and the reference signal The elements are in the same order.

[0046] S1023. Multiply the submatrix with the current data slices, and obtain the first matrix product according to the order of the Doppler indices in the submatrix.

[0047] The product of the first matrix is ​​denoted as , its first The elements are denoted as The edge end is based on the current distance cell number. and receiving channel number According to the pulse sequence number in ascending order, to Arranged in order of length complex vectors ,in The product of the first matrix satisfies , .

[0048] S1024. Multiply the submatrix with the reference signal corresponding to the current data slice, and obtain the second matrix product according to the order of the Doppler indices in the submatrix.

[0049] The product of the second matrix is ​​denoted as , its first The elements are denoted as Reference signal The order of elements and submatrix The columns are in the same order, and the product of the second matrix satisfies , The edge will , Pulse sequence number interval start number Termination serial number Distance unit number and receiving channel number Send them to the cloud together.

[0050] S103. The cloud determines the pulse sequence of the data slices based on the phase continuity between the pulse sequence number interval and the second matrix product corresponding to the adjacent data slices, sequentially accumulates the elements with the same Doppler sequence number in each first matrix product under the same distance unit sequence number and receiving channel sequence number, and sends the pulse sequence number after the termination sequence number of the current pulse sequence number interval to the edge end.

[0051] S103 involves three main stages: order determination of received data fragments at the cloud, accumulation of the first matrix multiplication, and feedback of the sequence number of the next pulse. The cloud receives the first matrix multiplication sent from the edge. Second matrix product Pulse sequence number interval start number Termination serial number Distance unit number and receiving channel number Then, steps S1031 to S1037 are executed sequentially to determine the fragmentation order, and then the same fragments are accumulated in the determined order. and The first matrix product of each data partition Elements with the same middle Doppler index are selected, and the final index of the current pulse index interval is the termination index. The sequence number of the next pulse is sent to the edge.

[0052] Optionally, the process in step S103 where the cloud determines the pulse order of data slices based on the phase continuity between the pulse sequence interval and the second matrix product corresponding to adjacent data slices can specifically include: Figure 2 A flowchart illustrating the process of determining the pulse sequence according to an embodiment of this application is shown. Figure 2 As shown, the method includes: S1031. The cloud divides the data fragments under the same distance unit number and receiving channel number, as well as the second matrix product corresponding to the data fragments, into the same data fragment group.

[0053] Data sharding refers to the cloud sharding data from the unit sequence number. and receiving channel number All data fragments and their corresponding second matrix products are identical. The set formed by combining them can be categorized as follows: and The combination of index keys and a grouping structure consisting of the pulse sequence number range of each data segment and the corresponding second matrix product is used to support the order determination and accumulation operation across segments under the same distance unit and receiving channel.

[0054] The cloud receives data packets sent from the edge. Each data packet includes the first matrix product. Second matrix product Pulse sequence number interval start number Termination serial number Distance unit number and receiving channel number Cloud-based and The combination of these is used as the grouping key. and Identical data packets are grouped into the same data shard group. Within each data shard group, the cloud uses... , , and This constitutes a data fragment identifier. For data packets with the same data fragment identifier, the cloud retains the data packet that passes the first sequence determination; the remaining data packets do not participate in the sequence determination and the first matrix multiplication accumulation again. The cloud records the confirmed pulse number range, the accumulated data fragment identifier, and the pulse number from each data fragment group. The sequence number of the longest continuous termination pulse.

[0055] S1032. Select the first and second data segments with adjacent pulse sequence intervals from the same data segment group, and calculate the phase difference between the elements with the same Doppler sequence in the second matrix product of the first and second data segments.

[0056] Adjacent pulse sequence number intervals refer to two data segments under the same distance unit number and receiving channel number having pulse sequence number intervals that satisfy a continuous generation relationship. Let the pulse sequence number interval of the first data segment be... to The pulse sequence number range of the second data segment is to The preset number of overlapping pulses is When the second data slice is generated by the pulse sequence number following the first data slice, the following condition is met. ,when When the two pulse sequence number intervals are connected end to end, when The overlapping portion of the two pulse sequence number intervals is to Valid threshold for amplitude The amplitude of the second matrix product is determined based on the statistical results of the amplitude when the receiver has no target input, and is configured before the start of the coherent processing interval.

[0057] Within the same data shard group, the cloud selects the first and second data shards that are adjacent in pulse sequence intervals, and their corresponding second matrix products are denoted as follows: and , No. Each element is denoted as . and ,in, The value is to .when and At that time, the cloud calculates the Doppler sequence number. Corresponding actual phase difference ,in This means normalizing the phase values ​​to an interval. .

[0058] The cloud uses the pulse sequence range, transmitted pulse sequence, and Doppler transformation matrix of the first and second data slices respectively. Pre-calculate Doppler serial number Corresponding theoretical phase difference Theoretical phase difference The calculation is performed using the same submatrix selection method, reference signal extraction method, and matrix multiplication method as the second matrix product, and then normalized to the interval. .when or At that time, the cloud does not have a Doppler sequence number. The actual phase difference is calculated, and the Doppler index is not used to determine the phase continuity of data slices.

[0059] S1033. Determine whether the start and end numbers of the pulse sequence interval of the first data segment are both less than the start and end numbers of the pulse sequence interval of the second data segment, and whether each phase difference is within the preset phase difference range.

[0060] S1034. When the start and end numbers of the pulse sequence interval of the first data segment are both less than the start and end numbers of the pulse sequence interval of the second data segment, and each phase difference is within the preset phase difference range, the first data segment is placed before the second data segment.

[0061] The preset phase difference range is determined by the theoretical phase difference, receiver noise calibration results, quantization error, and transmission error. Allowable phase error. Determined based on receiver phase noise calibration, quantization error, and transmission error. For those that meet the following conditions... and Doppler serial number When the actual phase difference satisfies the following formula, the phase continuity of the Doppler index is considered to meet the requirements. .

[0062] Read the starting pulse sequence number corresponding to the first data segment from the cloud. and termination pulse number And the starting pulse number corresponding to the second data slice. and termination number When satisfied , And all Doppler indices used for phase continuity determination All meet At that time, the cloud places the first data shard before the second data shard and multiplies the first matrix corresponding to the first data shard. Placed in the first matrix product corresponding to the second data partition Previously involved in accumulation. When any Doppler sequence used for phase continuity determination does not meet the amplitude validity condition or the phase continuity condition, the cloud retains the reception record of the corresponding data segment and does not write the data segment into the confirmed pulse sequence.

[0063] S1035. Determine whether the start and end numbers of the pulse sequence interval of the second data segment are both less than the start and end numbers of the pulse sequence interval of the first data segment, and whether each phase difference is within the preset phase difference range.

[0064] S1036. When the start and end numbers of the pulse sequence interval of the second data segment are both less than the start and end numbers of the pulse sequence interval of the first data segment, and each phase difference is within the preset phase difference range, the second data segment is placed before the first data segment.

[0065] S1037. Otherwise, maintain the current selection state.

[0066] S1033 and S1035 are symmetrical judgments. They deal with the situation where the pulse sequence number interval of the second data segment is earlier than that of the first data segment when the condition of S1033 is not met. The purpose is to cover the scenario where the second data segment arrives before the first data segment due to network transmission disorder when the cloud receives data packets.

[0067] First, the cloud determines whether the conditions are met simultaneously if condition S1033 is not met. and That is, the start and end numbers of the pulse sequence interval of the second data segment are both less than the start and end numbers of the first data segment.

[0068] When the pulse sequence number interval of the second data segment is earlier than the pulse sequence number interval of the first data segment, for those satisfying... and Doppler serial number Cloud-based calculation of the actual reverse phase difference The phase difference in the reverse theory is When satisfied , And all Doppler indices used for phase continuity determination All meet At that time, the cloud places the second data shard before the first data shard.

[0069] The cloud processes the first matrix product according to the confirmed pulse sequence. Let the accumulated result vector be... , No. The elements are The initial value is zero. For each confirmed data shard that has not participated in the accumulation, the cloud multiplies its first matrix product. The Middle element Accumulate to After the accumulation is completed, the cloud records the data shard identifier. The first matrix product corresponding to the same data shard identifier is only included in the accumulation once.

[0070] The cloud determines the pulse sequence number within the same data shard group. The maximum termination pulse number that continuously completes confirmation and accumulation. .when At that time, the cloud will This sequence number is sent to the corresponding edge device as the next pulse number. The edge device generates the next data fragment based on this next pulse number. At this point, the cloud marks the data fragment group as complete and will no longer send the next pulse sequence number to the data fragment group.

[0071] S104. The edge end determines the next data segment based on the next pulse sequence number, and re-determines the first matrix product, second matrix product, pulse sequence number interval, distance unit sequence number and receiving channel sequence number corresponding to the next data segment and sends them to the cloud.

[0072] Optionally, the process of determining the next data slice based on the next pulse number at the edge end in step S104 may specifically include: S1041. The pulse number obtained by subtracting the preset number of overlapping pulses from the pulse number after the edge end is the starting number, and the pulse number obtained by adding the preset number of segmented pulses to the starting number and subtracting the value one is the ending number.

[0073] The preset number of overlapping pulses is denoted as ,satisfy The sequence number of the next pulse is denoted as... When the cloud confirms that the current data shard belongs to the same data shard group, from the pulse sequence number... The last data fragment to be continuously confirmed, and the current data fragment termination pulse number is [number missing]. At that time, the cloud sends The edge terminal only receives a signal that satisfies the condition. The next data slice is generated when the next pulse number is reached. Because... It is a non-negative integer, according to The last data fragment termination pulse number generated is .

[0074] The edge device reads the sequence number of the next pulse sent from the cloud. and preset number of overlapping pulses .when At that time, with Obtain the starting pulse number of the next data slice. ,by Obtain the termination pulse number of the next data slice. The pulse sequence number range for the next data slice is... to Its pulse sequence number range relative to the current data segment to The overlapping part is to The number of overlapping pulses is When the current data fragment termination pulse number is At this time, the cloud does not send the next pulse sequence number, and the edge does not perform the generation operation of the next data segment.

[0075] S1042. The complex echo data whose pulse sequence number is within the range of the start sequence number to the end sequence number, and whose distance unit sequence number and receiving channel sequence number are the same as the distance unit sequence number and receiving channel sequence number of the current data segment, are determined as the next data segment.

[0076] The next data sharding refers to the sharding from complex echo data. The pulse sequence number interval determined according to S1041 to Distance cell number of the current data fragment and receiving channel number The extracted data subset can be a set of all complex echo data elements corresponding to the receiving channel number under the distance unit number within the pulse sequence interval, which is consistent with the data fragmentation definition method in S101.

[0077] First, the edge terminal reads the start pulse sequence number determined in S1041. and termination pulse number and the distance cell number corresponding to the current data shard. and receiving channel number Next, from the complex echo data... Extracting pulse sequence number In to The distance unit number and the receiving channel number are respectively related to the current data fragment. and Extract all identical elements. , … total Several complex echo values. Finally, the above... The elements are arranged in ascending order of pulse number to obtain the next data slice, which is used for matrix multiplication calculations in S1043 to S1046.

[0078] Optionally, the process of re-determining the first matrix product, second matrix product, pulse sequence number interval, distance unit sequence number, and receiving channel sequence number corresponding to the next data fragment and sending them to the cloud in step S104 may specifically include: S1043. The edge end determines the pulse sequence number interval formed by the start sequence number to the end sequence number as the pulse sequence number interval of the next data segment, and determines the distance unit sequence number and the receiving channel sequence number of the current data segment as the distance unit sequence number and the receiving channel sequence number of the next data segment, respectively.

[0079] First, the edge end will use the starting pulse sequence number determined in S1041. and termination pulse number The range of consecutive pulse numbers is determined as the pulse number interval for the next data segment. Next, the distance cell number of the current data segment is... and receiving channel number The distance unit number and receiving channel number are respectively determined as the next data slice number to ensure the continuity of slice processing within the same distance unit and receiving channel dimension. Finally, the pulse number range of the next data slice... Distance unit number and receiving channel number Together, they constitute the complete identification information for the next data shard, which is used for matrix multiplication calculations and cloud accumulation in S1044 to S1046.

[0080] S1044. Using the signal values ​​in the transmitted pulse sequence that are the same as the pulse number intervals of the next data segment as the reference signal, multiply the sub-matrix in the Doppler transformation matrix corresponding to the pulse number intervals of the next data segment with the next data segment and the reference signal respectively to obtain the initial first matrix product and the second matrix product corresponding to the next data segment.

[0081] The initial first matrix product refers to the pulse number interval of the next data slice. The complex vector obtained by multiplying the corresponding submatrix by the complex echo vector of the next data slice can be a vector of length . A complex vector, where the first... Each element corresponds to a Doppler index. The echo response value of the next data slice after Doppler transformation is denoted as... , its first The elements are denoted as Unlike the first matrix product corresponding to the final next data slice, the initial first matrix product has not yet undergone phase correction for the overlapping interval and includes the contribution of overlapping pulses to the Doppler transform result. It requires processing by S1045 and S1046 to obtain the correct first matrix product. The second matrix product corresponding to the next data slice refers to the product of the submatrix corresponding to the pulse sequence interval of the next data slice and the reference signal of the next data slice, with a length of... A complex vector, denoted as , its first The elements are denoted as .

[0082] First, at the edge, following steps S1011 to S1012, the pulse sequence number range of the next data slice is determined. From the transmitted pulse sequence Extract sequentially , … Arrange the pulses in ascending order to obtain the reference signal corresponding to the next data slice, denoted as . Its length is The complex vector, the first The elements are , Values ​​range from 1 to Next, following the steps in S1021 to S1022, the Doppler transformation matrix is... Select column number as to The total The columns are arranged in ascending order of pulse number to construct the submatrix corresponding to the next data slice, denoted as . Its number of rows is The number of columns is , No. Line number The elements of the column are , Values ​​range from 1 to .

[0083] Next, the distance cell number in the next data slice is... and receiving channel number The complex echo vector arranged by pulse number is denoted as , its first The elements are ,Will and Performing matrix-vector multiplication yields the initial first matrix product. ,in Finally, With reference signal Performing matrix-vector multiplication yields the second matrix product corresponding to the next data slice. ,in .

[0084] S1045. Multiply the submatrix corresponding to the intersection of the pulse number intervals of the Doppler transformation matrix with the complex echo data within the intersection of the pulse number intervals to obtain the overlapping first matrix product.

[0085] Pulse sequence interval intersection refers to the pulse sequence interval of the current data slice. Pulse sequence number range with the next data segment The range of common pulse numbers, due to The intersection is ,total The pulse sequence number. The overlapping first matrix product refers to the product of the Doppler transformation matrix. Intersection of the pulse sequence number interval The length of the product of the corresponding submatrix and the complex echo vector within that interval is A complex vector, denoted as , its first The elements are denoted as This reflects the contribution of the pulses within the overlapping interval to the Doppler transform result of the next data segmentation, and is used to subtract the product of the initial first matrix in S1046 to eliminate the repeated contribution of the overlapping pulses.

[0086] First, the intersection of the pulse sequence number intervals at the edge is determined as follows: ,total The pulse sequence number. Next, from the Doppler transform matrix... Select column number as to The total The columns are arranged in ascending order of pulse number to construct the sub-matrix corresponding to the overlapping intervals, denoted as . Its number of rows is The number of columns is , No. Line number The elements of the column are , Values ​​range from 1 to .

[0087] Next, from the complex echo data Extracting pulse sequence number In Inner and distance cell numbers are The receiving channel number is All elements are arranged in ascending order of pulse number as a sequence of length [length missing]. A complex vector, denoted as , its first The elements are Finally, and Performing matrix-vector multiplication yields the overlapping first matrix product. ,in .

[0088] S1046. Based on the phase difference between the same Doppler index element in the second matrix product of the current data segment and the next data segment, rotate the initial first matrix product and the overlapping first matrix product, calculate the difference between the rotated initial first matrix product and the overlapping first matrix product, obtain the first matrix product corresponding to the next data segment, and send it to the cloud.

[0089] The phase rotation is used to handle the difference between the actual phase difference and the theoretical phase difference between the current data slice and the next data slice. The second matrix product of the current data slice is... The second matrix product of the next data slice is .when and At the edge, calculation The edge end determines the pulse sequence interval, transmitted pulse sequence, and Doppler transformation matrix based on the current data slice and the next data slice. Calculate the same Doppler index Corresponding theoretical phase difference .

[0090] Phase rotation amount is ,when or season Doppler transformation matrix The columns are taken according to the absolute pulse sequence number, and the theoretical phase difference is... This represents the phase change generated by different pulse number intervals themselves. Phase rotation amount. This represents the difference between the actual phase difference and the theoretical phase difference.

[0091] For each Doppler sequence number at the edge end Multiply the initial first matrix respectively and the product of the overlapping first matrix Corresponding elements are multiplied by the same phase rotation factor , ,in, The imaginary unit. For each Doppler index... Edge computing For all Doppler serial numbers Performing the above calculations, we obtain a length of complex vectors The edge will , The starting sequence number of the pulse sequence number interval for the next data segment Termination serial number Distance unit number and receiving channel number Send them to the cloud together.

[0092] S105. After the cloud completes the accumulation of all first matrix products under the same distance cell number and receiving channel number, the obtained Doppler data vector is written into the distance Doppler matrix of the corresponding receiving channel number.

[0093] Optionally, step S105, after the cloud completes the accumulation of all first matrix products under the same range cell number and receiving channel number, and then writes the obtained Doppler data vector into the range Doppler matrix of the corresponding receiving channel number, may specifically include: S1051. The cloud reads the cumulative results of the first matrix product elements corresponding to each Doppler sequence number under the same distance cell sequence number and receiving channel sequence number in ascending order of Doppler sequence number, and writes each cumulative result into the element position with the same Doppler sequence number in the Doppler data vector.

[0094] Doppler data vectors refer to data vectors for the same range cell number. and receiving channel number After the first matrix product of all data slices is accumulated according to the Doppler index, the complex vector formed by arranging the accumulated results in ascending order of Doppler index can be a vector of length . A complex vector, where the first... Each element is a Doppler index. The summation result of the product elements of the first matrix of all data slices, i.e., the summation result vector defined in S103. The final form, confirmed according to the Doppler sequence number, is used to write the corresponding position of the distance-Doppler matrix.

[0095] Cloud unit serial number at the same distance and receiving channel number The following confirmation conditions must be met. These conditions include: starting from the pulse sequence number... The maximum termination pulse number for continuous confirmation is Each preset pulse number interval has been confirmed, and each data segment identifier has participated in the first matrix multiplication and accumulation. After the completion conditions are met, the accumulated result vector is... As a Doppler data vector. The Doppler data vector number... The elements are ,in The value is to .

[0096] S1052. Write the element corresponding to each Doppler index in the Doppler data vector into the intersection position of the row corresponding to the distance element index and the column corresponding to the Doppler index in the distance-Doppler matrix corresponding to the receiving channel index.

[0097] The range Doppler matrix refers to the distance to a specific receiving channel number. The complex matrix formed by arranging the accumulated Doppler transform results corresponding to all range cell indices and Doppler indices within the coherent processing interval according to their row and column positions can be a matrix with a number of rows. The number of columns is A complex matrix, where the first... Row corresponding distance cell number , No. Column corresponding to Doppler sequence number Each element is a complex Doppler response value obtained by summing across segments under the corresponding range cell number and Doppler number. (Receive channel number) The corresponding distance-Doppler matrix is ​​denoted as , its first Line number The elements of a column are denoted as ,but It can be represented as: in For the receive channel number Distance unit number Doppler serial number The complex Doppler response values ​​are obtained by accumulating and multiplying the first matrix of all data slices. This includes... The range Doppler matrix corresponding to each receiving channel number, and each receiving channel number Corresponding to the unique .

[0098] First, the cloud uses the same receiving channel sequence number. A certain distance cell number Read the Doppler data vector obtained from S1051 , its first The elements are Next, following the Doppler serial number in ascending order, sequentially... Write the receive channel number Corresponding distance Doppler matrix The Middle Line number The intersection of the columns, i.e., let , Values ​​range from 1 to .

[0099] Finally, for the same receiving channel number All distance unit numbers Values ​​range from 1 to After all combinations have completed the above writing process, the receiving channel number is obtained. The corresponding complete range Doppler matrix For all Repeat the above process for each receiving channel number, and finally obtain... Doppler distance matrices , … Each matrix has rows corresponding to the range cell number within the coherent processing interval and columns corresponding to the Doppler number, thus fully recording the response results of each range cell at each Doppler number under the receiving channel.

[0100] Figure 4 This is a schematic diagram illustrating a specific implementation of a matrix operation acceleration system for radar data processing, provided in an embodiment of this application. (Refer to...) Figure 4 The system may include: The partitioning module 410 is used at the edge end to divide the complex echo data within the coherent processing interval into data slices according to the pulse sequence interval, range unit sequence number and receiving channel sequence number, and to determine the reference signal corresponding to each data slice according to the transmitted pulse sequence. The calculation module 420 is used at the edge to multiply the sub-matrix selected from the Doppler transformation matrix corresponding to the pulse number interval of the current data segment with the current data segment and the corresponding reference signal to obtain the first matrix product and the second matrix product, and to send the first matrix product, the second matrix product, the pulse number interval of the current data segment, the distance cell number, and the receiving channel number to the cloud. The calculation module 420 is also used to determine the pulse order of data slices in the cloud based on the phase continuity between the pulse sequence number interval and the second matrix product corresponding to adjacent data slices, sequentially accumulate the elements with the same Doppler sequence number in each first matrix product under the same distance unit sequence number and receiving channel sequence number, and send the pulse sequence number after the termination sequence number of the current pulse sequence number interval to the edge end. The determination module 430 is used at the edge end to determine the next data segment based on the next pulse sequence number, and to re-determine the first matrix product, second matrix product, pulse sequence number interval, distance unit sequence number and receiving channel sequence number corresponding to the next data segment and send them to the cloud. The writing module 440 is used to accumulate all the first matrix products under the same distance cell number and receiving channel number in the cloud, and then write the obtained Doppler data vector into the distance Doppler matrix of the corresponding receiving channel number.

[0101] The matrix operation acceleration system for radar data processing in this application embodiment is used to implement the aforementioned matrix operation acceleration method for radar data processing. Therefore, the specific implementation of the matrix operation acceleration system for radar data processing can be found in the embodiment section of the matrix operation acceleration method for radar data processing above. The specific implementation can be referred to the description of the corresponding embodiments, which will not be repeated here.

[0102] Electronic devices may include processors and memory storing computer program instructions.

[0103] Specifically, the processor may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0104] The memory may include a large-capacity storage device for data or instructions. For example, and not limitingly, the memory may include a hard disk drive (HDD), a floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory may include removable or non-removable (or fixed) media. Where appropriate, the memory may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, the memory is non-volatile solid-state memory.

[0105] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to the first aspect of this disclosure.

[0106] The processor reads and executes computer program instructions stored in memory to implement any of the matrix operation acceleration methods for radar data processing in the above embodiments.

[0107] In one example, the electronic device may also include a communication interface and a bus. The processor, memory, and communication interface are connected via the bus and communicate with each other.

[0108] The communication interface is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0109] A bus, including hardware, software, or both, couples components of an online data traffic metering device together. For example, and not limitingly, a bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, a bus may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.

[0110] The electronic device can execute the matrix operation acceleration method for radar data processing in the embodiments of this application, thereby realizing the matrix operation acceleration method for radar data processing described in conjunction with the accompanying drawings.

[0111] Furthermore, in conjunction with the matrix operation acceleration method for radar data processing in the above embodiments, this application embodiment can provide a computer-readable storage medium for implementation. This computer-readable storage medium stores computer program instructions; when executed by a processor, these computer program instructions implement any of the matrix operation acceleration methods for radar data processing in the above embodiments.

[0112] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0113] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0114] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0115] The aspects of this application have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by dedicated hardware performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.

[0116] The matrix operation acceleration method and system for radar data processing provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only for the purpose of helping to understand the method and its core ideas. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of this application.

Claims

1. A matrix operation acceleration method for radar data processing, characterized in that, include: At the edge, the complex echo data within the coherent processing interval is divided into data slices according to the pulse sequence interval, range unit sequence number and receiving channel sequence number, and the reference signal corresponding to each data slice is determined according to the transmitted pulse sequence; The edge device will multiply the sub-matrix selected from the Doppler transformation matrix corresponding to the pulse number interval of the current data segment with the current data segment and the corresponding reference signal to obtain the first matrix product and the second matrix product, and send the first matrix product, the second matrix product, the pulse number interval of the current data segment, the distance cell number, and the receiving channel number to the cloud. The cloud determines the pulse order of the data slices based on the phase continuity between the pulse sequence number interval and the second matrix product corresponding to the adjacent data slices, sequentially accumulates the elements with the same Doppler sequence number in each first matrix product under the same distance unit sequence number and receiving channel sequence number, and sends the pulse sequence number after the termination sequence number of the current pulse sequence number interval to the edge end. The edge device determines the next data segment based on the next pulse sequence number, and re-determines the first matrix product, second matrix product, pulse sequence number interval, distance unit sequence number and receiving channel sequence number corresponding to the next data segment and sends them to the cloud. After the cloud performs the summation of all first matrix products under the same distance cell number and receiving channel number, the resulting Doppler data vector is written into the distance-Doppler matrix of the corresponding receiving channel number.

2. The method according to claim 1, characterized in that, The column number of each column in the Doppler transformation matrix is ​​the same as the pulse number of the corresponding pulse within the coherent processing interval. Each row in the Doppler transformation matrix corresponds to a Doppler number, and each element in the Doppler transformation matrix is ​​a complex transformation coefficient.

3. The method according to claim 1, characterized in that, The edge terminal determines the next data slice based on the subsequent pulse sequence number, including: The pulse number obtained by subtracting the preset number of overlapping pulses from the next pulse number at the edge end is the starting number, and the pulse number obtained by adding the preset number of segmented pulses to the starting number and subtracting a value of one is the ending number. Complex echo data whose pulse sequence number is within the range of the start sequence number to the end sequence number, and whose distance unit sequence number and receive channel sequence number are the same as those of the current data segment, are determined as the next data segment.

4. The method according to claim 3, characterized in that, The process of re-determining and sending to the cloud the first matrix product, second matrix product, pulse sequence number interval, distance unit sequence number, and receiving channel sequence number corresponding to the next data fragment includes: The edge end determines the pulse sequence number interval formed by the start sequence number to the end sequence number as the pulse sequence number interval of the next data segment, and determines the distance unit sequence number and the receiving channel sequence number of the current data segment as the distance unit sequence number and the receiving channel sequence number of the next data segment, respectively. Using the signal value that is the same as the pulse number interval of the next data segment in the transmitted pulse sequence as the reference signal, the sub-matrix corresponding to the pulse number interval of the next data segment in the Doppler transformation matrix is ​​multiplied by the next data segment and the reference signal respectively to obtain the initial first matrix product and the second matrix product corresponding to the next data segment; Multiply the submatrix corresponding to the intersection of the pulse number intervals of the Doppler transformation matrix with the pulse number intervals of the current data segment and the next data segment by the complex echo data within the intersection of the pulse number intervals to obtain the overlapping first matrix product; Based on the phase difference between the same Doppler index element in the second matrix product of the current data slice and the next data slice, rotate the initial first matrix product and the overlapping first matrix product, calculate the difference between the rotated initial first matrix product and the overlapping first matrix product, obtain the first matrix product corresponding to the next data slice, and send it to the cloud.

5. The method according to claim 1, characterized in that, The step of determining the reference signal corresponding to each data slice based on the transmitted pulse sequence includes: At the edge, signal values ​​with the same pulse number are extracted sequentially from the transmitted pulse sequence according to the pulse number interval of each data segment. The signal values ​​are arranged in ascending order of pulse number to obtain the reference signal corresponding to each data slice.

6. The method according to claim 1, characterized in that, The edge end will multiply the sub-matrix selected from the Doppler transform matrix corresponding to the pulse number interval of the current data segment with the current data segment and the corresponding reference signal to obtain a first matrix product and a second matrix product, including: At the edge, select columns in the Doppler transform matrix whose column numbers are the same as the pulse numbers within the pulse number interval of the current data segment; Following the pulse sequence number in ascending order, the elements corresponding to each Doppler sequence number in the selected column are written into the intersection of the row corresponding to the Doppler sequence number and the column corresponding to the pulse sequence number in the submatrix to obtain the submatrix corresponding to the current data segment. Multiply the submatrix with the current data slices to obtain the first matrix product according to the order of the Doppler indices in the submatrix; The submatrix is ​​multiplied by the reference signal corresponding to the current data slice, and the second matrix product is obtained according to the order of the Doppler indices in the submatrix.

7. The method according to claim 1, characterized in that, The cloud determines the pulse order of data slices based on the phase continuity between the pulse sequence interval and the second matrix product corresponding to adjacent data slices, including: The cloud divides data fragments under the same distance unit number and receiving channel number, as well as the second matrix product corresponding to the data fragments, into the same data fragment group; Select the first and second data slices with adjacent pulse sequence intervals from the same data slice group, and calculate the phase difference between the elements with the same Doppler sequence in the second matrix product of the first and second data slices; When the start and end numbers of the pulse sequence interval of the first data segment are both less than the start and end numbers of the pulse sequence interval of the second data segment, and each phase difference is within the preset phase difference range, the first data segment is placed before the second data segment. When the start and end numbers of the pulse sequence interval of the second data segment are both less than the start and end numbers of the pulse sequence interval of the first data segment, and each phase difference is within a preset phase difference range, the second data segment is placed before the first data segment.

8. The method according to claim 1, characterized in that, After the cloud performs the accumulation of all first matrix products under the same range cell number and receiving channel number, it writes the resulting Doppler data vector into the range-Doppler matrix of the corresponding receiving channel number, including: The cloud reads the cumulative results of the first matrix product elements corresponding to each Doppler number under the same distance cell number and receiving channel number in ascending order of Doppler number, and writes each cumulative result into the element position with the same Doppler number in the Doppler data vector; The element corresponding to each Doppler index in the Doppler data vector is written into the intersection position of the row corresponding to the distance element index and the column corresponding to the Doppler index in the distance-Doppler matrix corresponding to the receiving channel index.

9. A matrix operation acceleration system for radar data processing, characterized in that, include: The segmentation module is used at the edge end to divide the complex echo data within the coherent processing interval into data slices according to the pulse sequence interval, range unit sequence number and receiving channel sequence number, and to determine the reference signal corresponding to each data slice based on the transmitted pulse sequence; The calculation module is used at the edge to multiply the sub-matrix selected from the Doppler transformation matrix corresponding to the pulse number interval of the current data segment with the current data segment and the corresponding reference signal to obtain the first matrix product and the second matrix product, and then send the first matrix product, the second matrix product, the pulse number interval of the current data segment, the distance cell number, and the receiving channel number to the cloud. The calculation module is also used to determine the pulse order of data slices in the cloud based on the phase continuity between the pulse sequence interval and the second matrix product corresponding to adjacent data slices, sequentially accumulate the elements with the same Doppler sequence number in each first matrix product under the same distance unit sequence number and receiving channel sequence number, and send the pulse sequence number after the termination sequence number of the current pulse sequence interval to the edge end. The determination module is used at the edge to determine the next data segment based on the next pulse sequence number, and to re-determine the first matrix product, the second matrix product, the pulse sequence number interval, the distance unit sequence number, and the receiving channel sequence number corresponding to the next data segment and send them to the cloud. The writing module is used to accumulate all the first matrix products under the same distance cell number and receiving channel number in the cloud, and then write the resulting Doppler data vector into the distance Doppler matrix of the corresponding receiving channel number.

10. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the matrix operation acceleration method for radar data processing as described in any one of claims 1 to 8 when executing the computer program.