Communication system parameter matrix processing device, processing method, equipment and medium
By fusion matrix decomposition and inverse operation using a calculation module using a flow mode in the communication system, the problem of high hardware resource consumption of Hermit matrix inverse operation in the prior art is solved, and the computing efficiency and throughput rate are improved.
Patent Information
- Application Number
- CN202410701559.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-31
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2044-05-31
AI Technical Summary
When performing Hermit matrix inversion operation, existing communication systems need to consume higher hardware area resources, and matrix decomposition and inversion operation require separate calculation modules, resulting in waste of resources.
N calculation modules are used to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix in the flow mode, and the decomposition operation and inverse operation are fused in the same calculation module. The inverse operation of the diagonal element and the inverse decomposition operation of the same row and column elements are respectively processed by the ni1st, ni2nd and ni3rd calculation submodules in the nith calculation module, and iteratively optimized by decomposing the intermediate value and finding the inverse intermediate value.
The hardware area resource requirement required for the inverse operation of Hermit matrix is effectively reduced, and the throughput rate of the parameter matrix processing device of the communication system is improved when performing inverse operation of the Hermit matrix on the inverse operation of the Hermit matrix is realized. The effective fusion of matrix decomposition and inverse operation is realized.
Smart Images

Figure CN118551145B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of digital signal processing, and in particular to a communication system parameter matrix processing device, processing method, equipment and medium. Background Art
[0002] In communication systems, the operation process of inverting the Hermitian matrix is widely used. When inverting the Hermitian matrix, the related technology generally first uses Cholesky decomposition to decompose the Hermitian matrix into a lower triangular matrix, then obtains the inverse of the lower triangular matrix, and then calculates the inverse of the Hermitian matrix through the inverse of the lower triangular matrix.
[0003] When the above method is used to solve the inverse of the Hermitian matrix, the communication system needs to separately set up a matrix decomposition calculation module and a matrix inversion calculation module, resulting in the consumption of higher hardware area resources for the Hermitian matrix inversion operation. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a communication system parameter matrix processing device, processing method, equipment and medium, so as to improve the hardware area resources consumed by the communication system for performing Hermitian matrix inversion operations.
[0005] In a first aspect, an embodiment of the present application provides a communication system parameter matrix processing device, comprising: an n1th calculation module, an n2th calculation module, ... and an nth calculation module connected in sequence. N Calculation module, N is the order of the communication system parameter matrix;
[0006] The n1th calculation module, the n2th calculation module, ... and the nth N A calculation module is used to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix in a pipeline mode, wherein the nth i (1≤i≤N) a calculation module is used to calculate the inverse value of the i-th row element of the decomposition matrix of the communication system parameter matrix;
[0007] Among them, the nth i Computing module, including:
[0008] No.n i1 A calculation submodule, used to calculate the diagonal element A in the communication system parameter matrix ii The inverse of the decomposition value A ii -1 , and A ii -1 Update element A ii ;
[0009] No.n i2 The calculation submodule is used to calculate the updated Aii , respectively calculate the element set R i The inverse value of each element in and the element set C i The decomposed value of each element in the element set R i Update the element set R by the inverse value of each element in i Each element in the element set C i The decomposed value of each element in updates the element set C i Each element in R i ={A i1 ,…,A i(i-1)}, C i ={A (i+1)i ,…,A Ni}.
[0010] In the implementation process of the above scheme, the inverse matrix of the decomposition matrix of the communication system parameter matrix is calculated by N calculation modules using pipeline mode, and the decomposition operation and inversion operation of the communication system parameter matrix are integrated in the calculation module. On the one hand, the hardware area resource requirement of the Hermitian matrix inversion operation is effectively reduced; on the other hand, it is conducive to improving the throughput rate of the above communication system parameter matrix processing device when performing the Hermitian matrix inversion operation; in addition, in the nth i The calculation module is used to invert the nth diagonal element. i1 The calculation submodule and the nth one for calculating the inverse value of the diagonal elements in the same row and the decomposition value of the diagonal elements in the same column i2 The calculation submodule makes the matrix pass through the nth i In the computing module, both the matrix decomposition operation and the matrix inversion operation are advanced by one order, realizing the effective integration of the matrix decomposition operation and the matrix inversion operation, which is beneficial to further reduce the hardware area resources required by the communication system parameter matrix processing device when performing the inversion operation of the Hermitian matrix.
[0011] In an implementation of the first aspect, the nth i The computing module also includes:
[0012] No.n i3 The calculation submodule is used to calculate the updated element set C i Calculate the element set C i+1 The decomposed intermediate values of each element in ′ and the updated element set C i , element set R i and element A ii , calculate the element set R i+1 The inverse intermediate value of each element in ′ is obtained by taking the element set C i+1 The decomposed intermediate values of each element in ′ update the element set C i+1 Each element in ′ is represented by the element set Ri+1 The inverse intermediate value of each element in ′ updates the element set R i+1 ′, among which C i+1 ′={A (i++1)(i+1) ,…,A N(i+1)}, R i+1 ′={A (i+1)1 ,…,A (i+1)i}.
[0013] In the implementation process of the above solution, by setting the nth i3 Calculate the submodule so that the nth i+1 The calculation module can be i The calculation module obtains the decomposition intermediate value and the inverse intermediate value to perform the nth i+1 The matrix decomposition operation part and the matrix inversion operation part in the calculation module can reduce the pipeline length and further reduce the overhead caused by the synchronization of the matrix.
[0014] In an implementation of the first aspect, the nth i1 Computing submodule, including:
[0015] No.n i1 Reciprocal square root calculation unit for diagonal elements A ii Take the inverse square root to get A ii -1 ;
[0016] and / or, the nth i2 Computing submodule, including:
[0017] A plurality of complex multipliers for parallel computing are used to execute the nth i2 The multiplication calculation process in the calculation process of the calculation submodule;
[0018] And / or, the device further comprises:
[0019] No.n N+1 A calculation module is used to calculate the inverse matrix of the communication system parameter matrix according to the inverse matrix of the decomposition matrix.
[0020] In the implementation of the above solution, the nth i1 The calculation submodule uses the square root inverse calculation unit to directly calculate the diagonal element A ii Take the inverse square root to get A ii -1When a reasonable iterative approximation processing scheme is used, the resources required by the square root inverse calculation unit are less than the resources required for the series structure of the square root calculation unit and the division calculation unit in the related art, which is beneficial to reducing the division operation density of the communication system parameter matrix processing device, and also reduces the timing resources and hardware area resources required for the Hermitian matrix inversion operation;
[0021] In addition, multiple complex multipliers are set up to perform parallel calculations to perform the nth i2 The multiplication part of the calculation submodule operation process makes the nth i2 The calculation submodule can complete the decomposition value calculation process and the inverse value calculation process within the delay of a multiplier, which greatly reduces the nth i2 The operation delay of the calculation submodule is beneficial to reducing the area resources required by the communication system parameter matrix processing device when performing the Hermitian inversion operation;
[0022] In addition, by setting the nth N+1 The calculation module enables the above-mentioned communication system parameter matrix processing device to directly output the inverse matrix of the communication system parameter matrix to be inverted, so that the above-mentioned communication system parameter matrix processing device can be applicable to more application scenarios, thereby improving the applicability of the above-mentioned communication system parameter matrix processing device.
[0023] In an implementation of the first aspect, the nth i3 Computing submodule, including:
[0024] No.n i31 A computing unit, comprising a plurality of complex multipliers for performing parallel computing, for executing the nth i3 The multiplication calculation process in the calculation process of the calculation submodule;
[0025] No.n i32 A computing unit, comprising a plurality of adders for performing parallel computing, for executing the nth i3 The addition calculation process in the calculation process of the calculation submodule.
[0026] In the implementation process of the above scheme, by i3 The operation process involved in the calculation submodule is decomposed into a multiplication part and an addition part, so as to set the nth i31 The calculation unit and the nth i32 Calculation unit, and for the nth i31 The computing unit is equipped with multiple complex multipliers for parallel operation. i32 The computing unit is equipped with multiple adders for parallel operation, so that the nth i3The calculation submodule can complete the decomposition intermediate value operation and the inversion intermediate value operation within one multiplier delay plus one adder delay, which greatly reduces the operation delay of the third calculation submodule, which is beneficial to reducing the area resources required by the above-mentioned communication system parameter matrix processing device when performing Hermitian inversion operation.
[0027] In a second aspect, an embodiment of the present application provides a communication system parameter matrix processing device, including: an m1th calculation module, an m2th calculation module and a control module, wherein:
[0028] The m1th calculation module communicates with the control module and is used to calculate the diagonal element A in the communication system parameter matrix. ii The inverse of the decomposition value A ii -1 , and A ii -1 Update element A ii ; Wherein, 1≤i≤N, i is the number of times the m1th calculation module is called, and N is the order of the communication system parameter matrix;
[0029] The m2th calculation module communicates with the control module and is used to calculate the value of the updated A ii , respectively calculate the element set R i The inverse value of each element in and the element set C i The decomposed value of each element in the element set R i Update the element set R by the inverse value of each element in i Each element in the element set C i The decomposed value of each element in updates the element set C i Each element in R i ={A i1 ,…,A i(i-1)}, C i ={A (i+1)i ,…,A Ni};
[0030] The control module is used to call the m1th calculation module and the m2th calculation module to perform N iterative operations on the communication system parameter matrix to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix.
[0031] In an implementation of the second aspect, the apparatus further includes:
[0032] The m3 calculation module communicates with the control module and is used to calculate the value of the updated element set C according to the updated element set C. i Calculate the element set C i+1 The decomposed intermediate values of each element in ′ and the updated element set C i , element set Ri and element A ii , calculate the element set R i+1 The inverse intermediate value of each element in ′ is obtained by taking the element set C i+1 The decomposed intermediate values of each element in ′ update the element set C i+1 Each element in ′ is represented by the element set R i+1 The inverse intermediate value of each element in ′ updates the element set R i+1 ′, among which C i+1 ′={A (i+1)(i+1) ,…,A N(i+1)}, R i+1 ′={A (i+1)1 ,…,A (i+1)i};
[0033] The control module is further used to call the m3th calculation module to perform N iterative operations on the communication system parameter matrix to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix.
[0034] In an implementation of the second aspect, the m1-th computing module includes:
[0035] mth 11 Reciprocal square root calculation unit for diagonal elements A ii Take the inverse square root to get A ii -1 ;
[0036] And / or, the m2th calculation module comprises:
[0037] A plurality of complex multipliers for performing parallel calculations, used to execute the multiplication calculation process in the calculation process of the m2-th calculation module;
[0038] And / or, the device further comprises:
[0039] The m4th calculation module communicates with the control module and is used to calculate the inverse matrix of the communication system parameter matrix according to the inverse matrix of the decomposition matrix.
[0040] In an implementation of the second aspect, the m3th calculation module includes:
[0041] mth 31 A calculation submodule, comprising a plurality of complex multipliers for performing parallel calculations, for executing the multiplication calculation process in the calculation process of the m3th calculation module;
[0042] mth 32 The calculation submodule includes a plurality of adders for performing parallel calculations, and is used to execute the addition calculation process in the calculation process of the m3th calculation module.
[0043] In a third aspect, an embodiment of the present application provides a communication system parameter matrix processing method, including:
[0044] Performing N iterative operations on the communication system parameter matrix to obtain an inverse matrix of the decomposition matrix of the communication system parameter matrix;
[0045] The i-th iteration operation (1≤i≤N) of the communication system parameter matrix is performed, including:
[0046] Calculate the diagonal elements A ii The inverse of the decomposition value A ii -1 , and A ii -1 Update element A ii ;
[0047] According to the updated A ii , respectively calculate the element set R i The inverse value of each element in and the element set C i The decomposed value of each element in the element set R i Update the element set R by the inverse value of each element in i Each element in the element set C i The decomposed value of each element in updates the element set C i Each element in R i ={A i1 ,…,A i(i-1)}, C i ={A (i+1)i ,…,A Ni}.
[0048] In an implementation of the third aspect, in the respectively calculating element sets R i The inverse value of each element in and the element set C i After the decomposed value of each element in and updating the corresponding elements, it also includes:
[0049] According to the updated element set C i Calculate the element set C i+1 The decomposed intermediate values of each element in ′ are based on the element set C i+1 The decomposed intermediate values of each element in ′ update the element set C i+1 Each element in ′, C i+1 ′={A (i+1)(i+1) ,…,A N(i+1)};
[0050] According to the updated element set C i , element set R i and element A ii, calculate the element set R i+1 The inverse intermediate value of each element in ′ is obtained by taking the element set R i+1 The inverse intermediate values of each element in ′ update the element set R i+1 Each element in ′, R i+1 ′={A (i+1)1 ,…,A (i+1)i};
[0051] And / or, the element set R is calculated respectively i The inverse value of each element in and the element set c i The decomposition values of each element in include:
[0052] According to the updated A ii and the element set R obtained at the i-1th iteration i ′, calculate the element set R i The inverse value of each element in ;
[0053] According to the updated A ii and the element set C obtained at the u-1th iteration i ′, calculate the element set C i The decomposition value of each element in;
[0054] And / or, after performing N iterative operations on the communication system parameter matrix to obtain an inverse matrix of the decomposition matrix of the communication system parameter matrix, the method further includes:
[0055] The inverse matrix of the communication system parameter matrix is calculated according to the inverse matrix of the decomposition matrix.
[0056] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising: a processor, a memory, and a communication bus, wherein the processor and the memory communicate with each other through the communication bus; the memory stores computer program instructions that can be executed by the processor, and when the computer program instructions are read and run by the processor, the method provided by the third aspect or any possible implementation of the third aspect is executed.
[0057] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are read and executed by a processor, the method provided by the third aspect or any possible implementation of the third aspect is executed.
[0058] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the embodiments of the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments of the present application will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0060] Figure 1 A schematic diagram of the structure of a communication system parameter matrix processing device provided in an embodiment of the present application;
[0061] Figure 2 The nth embodiment provided in this application i Schematic diagram of the structure of the calculation module;
[0062] Figure 3 The embodiment of the present application provides the nth iteration operation in solving the 6th order Hermitian matrix. 31 Schematic diagram of the operation flow of the calculation submodule;
[0063] Figure 4 The embodiment of the present application provides the nth iteration operation in solving the 6th order Hermitian matrix. 32 Schematic diagram of some operation flow of the calculation submodule;
[0064] Figure 5 The embodiment of the present application provides the nth iteration operation in solving the 6th order Hermitian matrix. 32 Schematic diagram of another part of the calculation process of the calculation submodule;
[0065] Figure 6 The embodiment of the present application provides the nth iteration operation in solving the 6th order Hermitian matrix. 33 Schematic diagram of some operation flow of the calculation submodule;
[0066] Figure 7 The embodiment of the present application provides the nth iteration operation in solving the 6th order Hermitian matrix. 33 Schematic diagram of another part of the calculation process of the calculation submodule;
[0067] Figure 8 A schematic diagram of a pipeline process for performing an inversion operation on a Hermitian matrix of any order provided in an embodiment of the present application;
[0068] Fig. 9 A schematic diagram of a fully pipelined process for performing an inversion operation on an arbitrary-order Hermitian matrix provided in an embodiment of the present application;
[0069] Fig.10A schematic diagram of the structure of another communication system parameter matrix processing device provided in an embodiment of the present application;
[0070] Fig.11 A flow chart of a communication system parameter matrix processing method provided in an embodiment of the present application;
[0071] Fig.12 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0072] The following will describe the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings in the embodiments of the present application. The following embodiments are only used to more clearly illustrate the technical solutions of the present application, and are therefore only used as examples, and cannot be used to limit the scope of protection of the present application.
[0073] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by technicians in the technical field to which this application belongs; the terms used herein are only for the purpose of describing specific embodiments and are not intended to limit this application; the terms "including" and "having" in the specification and claims of this application and the above-mentioned figure descriptions and any variations thereof are intended to cover non-exclusive inclusions.
[0074] In the description of the embodiments of the present application, the technical terms "first", "second", etc. are only used to distinguish different objects, and cannot be understood as indicating or implying relative importance or implicitly indicating the number, specific order or primary and secondary relationship of the indicated technical features. In the description of the embodiments of the present application, the meaning of "multiple" is more than two, unless otherwise clearly and specifically defined.
[0075] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0076] The Hermitian Matrix (also known as the Hermitian Matrix or the Hermitian Matrix) refers to a self-conjugate matrix, that is, every element in the i-th row and j-th column of the matrix is conjugate equal to the element in the j-th row and i-th column. Its structure is as follows:
[0077]
[0078] In communication systems, for example, in channel estimation CHE (Channel Estimation), MIMO detection and demodulation DMD (Detection of MIMO and Demodulation) and minimum mean square error MMSE (Minimum Mean Square Error) coefficient calculation, the Hermitian matrix needs to be inverted.
[0079] When the related technology inverts the Hermitian matrix, the Cholesky decomposition is generally used to decompose the Hermitian matrix into a lower triangular matrix, and then the decomposed lower triangular matrix is inverted, and finally the inverse of the Hermitian matrix is calculated using the inverted lower triangular matrix.
[0080] The following describes the process of decomposing the Hermitian matrix into a lower triangular matrix and the inversion of the lower triangular matrix:
[0081] (1) Matrix decomposition part
[0082] The Cholesky decomposition used in the decomposition of the Hermitian matrix refers to: a symmetric positive definite matrix is represented as the product of a lower triangular matrix and its transpose, that is:
[0083] A=LL T
[0084] Among them, matrix A is a symmetric positive definite matrix, and L is a lower triangular matrix.
[0085] The calculation formula for obtaining the lower triangular matrix L by Cholesky decomposition is:
[0086]
[0087] Among them, A ij represents the element in the i-th row and j-th column of matrix A; L ij represents the element in the i-th row and j-th column of the lower triangular matrix L; L j,k * With L j,k conjugation;
[0088] It can be seen from the above formula that when decomposing the Hermitian matrix, a column-by-column calculation method is used, and the decomposition calculation of the current column depends on the calculation results of other columns before the current column.
[0089] (2) Inverse of the lower triangular matrix
[0090] Generally, the Gaussian elimination method with lower computational complexity is used to invert the lower triangular matrix. The specific calculation formula is:
[0091]
[0092] It can be seen from the above formula that when inverting the lower triangular matrix, the calculation method of advancing by row is adopted. The inversion calculation of the current row depends on the calculation results of other rows before the current row. After inverting the diagonal elements, the inverse values of each element in the current row are calculated in order from left to right.
[0093] The related technology uses a method of first decomposing the Hermitian matrix, obtaining the lower triangular matrix, and then inverting the lower triangular matrix. It is necessary to set up a matrix decomposition calculation module and a matrix inversion calculation module separately, which causes the communication system to consume higher hardware area resources to perform the Hermitian matrix inversion operation.
[0094] Based on this, an embodiment of the present application provides a communication system parameter matrix processing device, which uses N computing modules to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix in a pipeline mode, and integrates the decomposition operation and inversion operation of each order of the communication system parameter matrix into the same computing module, effectively reducing the hardware area resource requirements of the Hermitian matrix inversion operation.
[0095] The communication system parameter matrix processing device is described in detail below:
[0096] See also Figure 1 , the embodiment of the present application provides a communication system parameter matrix processing device 100, comprising:
[0097] The n1th calculation module 110-1, the n2th calculation module 110-2, ... and the nth calculation module 110-3 are connected in sequence. N Calculation module 110-N, N is the order of the communication system parameter matrix, where:
[0098] The n1th calculation module 110-1, the n2th calculation module 110-2, ... and the n N A calculation module 110-N, configured to calculate an inverse matrix of a decomposition matrix of a communication system parameter matrix in a pipeline mode;
[0099] Among them, the nth i The (1≤i≤N) calculation module is used to calculate the inverse value of the i-th row element of the decomposition matrix of the communication system parameter matrix.
[0100] It should be pointed out that the above-mentioned communication system parameter matrix refers to: the Hermitian matrix that needs to be inverted in the process of channel estimation (CHE), MIMO detection and demodulation (DMD), and solving the minimum mean square error (MMSE) filter coefficients of the communication system.
[0101] In addition, it can be understood that the above-mentioned pipeline mode is the pipeline mode, which is a form of data parallel computing. It divides the entire data processing process into multiple steps, processes data in a pipeline manner, and performs parallel processing at each stage.
[0102] In the process of implementing the above scheme, the inverse matrix of the decomposition matrix of the communication system parameter matrix is calculated by N computing modules using a pipeline mode, and the decomposition operation and the inversion operation of the communication system parameter matrix are integrated in the computing module. On the one hand, the hardware area resource requirements for the Hermitian matrix inversion operation are effectively reduced; on the other hand, it is beneficial to improve the throughput of the above communication system parameter matrix processing device when performing the Hermitian matrix inversion operation.
[0103] The following is a detailed introduction to each calculation module:
[0104] See also Figure 2 , nth i The computing module 110 - i includes:
[0105] No.n i1 The calculation submodule 110-i1 is used to calculate the diagonal element A in the communication system parameter matrix. ii The inverse of A ii -1 , and A ii -1 Update element A ii ;
[0106] No.n i2 The calculation submodule 110-i2 is used to calculate the value of the updated A ii , respectively calculate the element set R i The inverse value of each element in and the element set C i The decomposed value of each element in and the inverse value of the element is used to update the element set R i Each element in the set C is updated with the element decomposition value i Each element in R i ={A i1 ,…,A i(i-1)}, C i ={A (i+1)i ,…,A Ni}.
[0107] It is understandable that the element set R i It means: all the elements A ii Elements in the same row, element set C i It means: all the elements A ii Elements in the same column.i2 The calculation submodule 110-i2 is used to calculate the value of the updated A ii Calculate and element A respectively ii The inverse of the elements in the same row and the inverse of the elements in A ii Decomposed values of elements in the same column.
[0108] See also Figure 2 As an optional implementation of the above-mentioned new system parameter matrix processing device, the nth i The computing module 110-i further includes:
[0109] No.n i3 The calculation submodule 110-i3 is used to calculate the value of the updated element set C i and the element set R i , respectively calculate the element set C i+1 The decomposed intermediate values of each element in ′ and the element set R i+1 The inverse intermediate value of each element in ′ is used to update the element set C with the intermediate value of element decomposition i+1 ′, update the element set R with the intermediate value of the element inversion i+1 Each element in ′, C i+1 ′={A (i+1)(i+1) ,…,A N(i+1)}, R i+1 ′={A (i+1)1 ,…,A (i+1)i}.
[0110] It can be understood that when i=N, that is, the nth N The calculation module 110-N is used to calculate the inverse value of the Nth row element of the decomposition matrix of the communication system parameter matrix. This module only needs the nth row element. N1 Computational submodules and nth N2 The calculation submodule can complete the calculation.
[0111] In addition, it is understandable that the nth i2 In the process of updating the matrix elements, the calculation submodule 110-i2 performs the following operations on the element set C: i and R i In addition to updating, the element set C i+1 ″ and element set R i+1 "To update,
[0112] It can be understood that the above-mentioned decomposition intermediate value and inversion intermediate value are for facilitating the direct calculation of the decomposition value and inversion value of the element according to the decomposition intermediate value and inversion intermediate value in the next iteration. It can be seen from the above-mentioned matrix decomposition calculation formula and matrix inversion calculation formula that both the matrix decomposition and matrix inversion processes involve the inverse of the decomposition value of the diagonal elements. Therefore, the matrix decomposition operation and matrix inversion operation for a certain element can be decomposed into the inverse of the decomposition value of the diagonal elements. Multiply by a certain value, so the decomposition intermediate value in the embodiment of the present application can be set to the above value, which is the reciprocal of the decomposition value of the diagonal element Multiplying them will get the decomposition value of the element. Similarly, this method can also be used to set the inverse intermediate value. Using the decomposition intermediate value and inverse intermediate value set in this way, in the next iteration, only the reciprocal of the decomposition value of the diagonal element corresponding to this iteration needs to be solved. Then, through multiplication operations, the inverse values of the elements in the same row of the diagonal elements and the decomposed values of the elements in the same column of the diagonal elements can be obtained, thereby improving the calculation efficiency.
[0113] As an optional implementation of the above-mentioned communication system parameter matrix processing device, the nth i1 The computing submodule 110-i1 includes:
[0114] Reciprocal square root calculation unit for diagonal elements A ii Take the inverse square root to get A ii -1 .
[0115] It can be understood that from the above matrix decomposition calculation formula and matrix inversion calculation formula, it can be known that: for the diagonal element A ii When inverting, the decomposition calculation part needs to use square root operation, while the inversion calculation part needs to use reciprocal operation, which is essentially a division operation. Therefore, for the diagonal elements A ii Square root operation and division operation are required for inversion, and the above-mentioned square root inverse calculation unit can directly perform square root inverse operation on the diagonal elements to obtain the inverse.
[0116] In addition, the above-mentioned inverse square root calculation unit can use Newton iteration to implement the calculation of the inverse square root.
[0117] As an optional implementation of the above-mentioned communication system parameter matrix processing device, the nth i2 The computing submodule 110-i2 includes:
[0118] A plurality of complex multipliers for parallel computing are used to execute the nth i2 The multiplication calculation process in the calculation process of the calculation submodule.
[0119] It is understandable that the nth i2 The calculation submodule 110-i2 is used to calculate the value of the updated A ii Calculate the element set R separately i The inverse value of each element in and the element set C i The decomposition value of each element in , from the above matrix decomposition calculation formula, matrix inversion calculation formula and the above description of the decomposition intermediate value and the inversion intermediate value, it can be known that the nth i2 The calculation submodule 110-i2 can obtain the element decomposition value and the element inversion value by decomposing the intermediate value and inverting the intermediate value with only one multiplication operation. i2 The calculation submodule 110 - i2 may only involve multiplication operations, and multiple multiplication operation parts may be operated in parallel.
[0120] As an optional implementation of the above-mentioned communication system parameter matrix processing device, the nth i3 The computing submodule 110-i3 includes:
[0121] No.n i31 A computing unit, comprising a plurality of complex multipliers for performing parallel computing, for executing the nth i3 The multiplication calculation process in the calculation process of the calculation submodule;
[0122] No.n i32 A computing unit, comprising a plurality of adders for performing parallel computing, for executing the nth i3 The addition calculation process in the calculation process of the calculation submodule.
[0123] It is understandable that the nth i3 The calculation submodule 110-i3 is used to calculate the value of the updated element set C according to the updated element set C. i Element set R i , respectively calculate the element set C i+1 The decomposed intermediate values of each element in ′ and the element set R i+1 ' The inverse intermediate value of each element in is calculated by the above matrix decomposition formula Zhongyu Multiplication part Matrix inversion calculation formula i>j Multiplication part As can be seen from the above description of decomposing intermediate values and inverting intermediate values, the operation process of decomposing intermediate values and inverting intermediate values involves a multiplication operation part and an addition operation part (subtraction operation can also be understood as a kind of addition operation).
[0124] For ease of understanding, the present embodiment takes the third iteration operation of a 6-order parameter matrix as an example to introduce the nth calculation module 110-3 in the n3 calculation module 110-3. 31 Calculation submodule 110-31, nth 32 The calculation submodule 110-32 and the nth 33 The processing flow of the calculation submodule 110-33 is as follows:
[0125] No.n 31 The calculation process of the calculation submodule 110-31 is as follows:
[0126] See also Figure 3 , when performing the third iteration, the nth 31 The diagonal element calculated by the calculation submodule 110-31 is the element (2,2), and the nth 31 The calculation submodule 110 - 31 directly performs a square root inverse calculation on the element (2, 2) to obtain a matrix inverse calculation result of the element (2, 2).
[0127] No.n 32 The calculation process of the calculation submodule 110-32 is as follows:
[0128] See also Figure 4 , use the element (2,2) after the calculation to multiply the opposite numbers of all elements in the same row and store them in the corresponding position. Then the values stored in the elements (2,0) and (2,1) are the results of the matrix inversion operation that needs to be output in the end.
[0129] See also Figure 5 , use element (2,2) and all elements in the same column to perform complex multiplication and store the results in the corresponding positions. Then elements (3,2), (4,2) and (5,2) are all the results of matrix decomposition.
[0130] No.n 33 The calculation process of the calculation submodule 110-33 is as follows:
[0131] See also Figure 6, the process of calculating the intermediate value of the decomposition is: use the element (3,2), element (4,2) and element (5,2) that store the decomposition results to perform conjugate multiplication (take the conjugate of the element with the first row number), that is: element (3,2)*element (3,2), element (3,2)*element (4,2), element (3,2)*element (5,2), element (4,2)*element (4,2), element (4,2)*element (5,2), element (5,2)*element (5,2). Then use the result as the subtrahend to subtract from element (3,3), element (4,3), element (4,4), element (5,3), element (5,4) and element (5,5), and update the values of element (3,3), element (4,3), element (4,4), element (5,3), element (5,4) and element (5,5). After the calculation is completed, the elements (3,3), (4,3), and (5,3) in the fourth column only need one multiplication operation to obtain the decomposition value (see the above nth i2 Calculation process description of calculation submodule 110 - i2).
[0132] See also Figure 7 , the process of calculating the inverse intermediate value is: calculate element (2,0)*element (3,2), add the result to element (3,0) and store it in element (3,0); calculate element (2,0)*element (4,2), add the result to element (4,0) and store it in element (4,0), and so on, calculate all the results of element (2,x)*element (y,2), add them to element (y,x) and store them in element (y,x), where x∈[0,2], y∈[2,5]. It should be noted that: the nth i1 The calculation submodule 110-i1 uses which diagonal element to calculate, and the corresponding number at this time is the corresponding value. For example, if the nth i1 The calculation submodule 110-i1 calculates the inverse square root of the element (3,3), so what needs to be calculated is the element (3,x)*element (y,2), x∈[0,3], y∈[3,5], where the maximum value of y depends on the maximum order of the matrix.
[0133] The above is the entire process of the third iteration of the 6-order matrix. The third iteration, which starts with the inverse square root operation of the element (2,2), completes the matrix inversion of the first three matrices. Compared with the second iteration, the third iteration advances the matrix inversion result by one row, and the matrix decomposition result by one column. N The cooperation of the computing modules can realize matrix decomposition and matrix inversion operations of Hermitian matrices of arbitrary order.
[0134] The pipeline process for inverting an arbitrary-order Hermitian matrix is as follows: Figure 8 As shown, the nth i The nth i1 Calculation submodule 110-i1, nth i2 The calculation submodule 110-i2 and the nth i3 The calculation process of the calculation submodule 110-i3 can be understood as a three-stage pipeline calculation method, in which the nth i1 The calculation submodule 110-i1 corresponds to the first stage of the pipeline, and the nth stage i2 The calculation submodule 110-i2 corresponds to the second pipeline, the nth i3 The calculation submodule 110-i3 corresponds to the third pipeline, and the input of each pipeline is the output of the previous pipeline. After each three-stage pipeline, the results of matrix decomposition and matrix inversion are advanced one order. If the delay of the multiplier is C, the delay of the adder is A, and the delay of the square root inverse calculation unit is R, then the delay required for the first pipeline is R, the delay of the second pipeline is C, and the delay of the third pipeline is C+A. Therefore, after each three-stage pipeline, the required delay is R+C+C+A.
[0135] See also Fig. 9 , the following still takes the third iteration operation of the 6th order Hermitian matrix as an example to illustrate how the communication system parameter matrix processing device implements the operation process of the n3th calculation module 110-3 in a full pipeline form:
[0136] (1) The first section of the pipeline: corresponding to the nth 31 The operation process of the calculation submodule 110-31 is to calculate the inverse square root of the element (2,0). This operation process does not need to beat the calculated inverse square root, and the input of the next pipeline is the output of the inverse square root calculation unit.
[0137] (2) The second flow: corresponding to the nth 32The calculation process of the calculation submodule 110-32 is based on the inverse square root operation result of the element (2,0) in the first stage of the pipeline. The specific calculations performed are element (2,2)*element (2,0), element (2,2)*element (2,1), element (2,2)*element (3,2), element (2,2)*element (4,2) and element (2,2)*element (5,2). Among them, element (2,2)*element (2,0), element (2,2)*element (2,1) are the matrix inversion results of element (2,0) and element (2,1), and the operation results can be stored in the matrix. Element (2,2)*element (3,2), element (2,2)*element (4,2), and element (2,2)*element (5,2) are the matrix decomposition results of element (3,2), element (4,2), and element (5,2). Since the matrix decomposition results are used for the matrix inversion calculation part in the next iteration, the three matrix decomposition results can be directly input into the third pipeline without being stored in the matrix, thereby effectively saving storage space. During this operation, all elements in the same row and column as the diagonal elements of the first pipeline do not need to be pipelined, and the input of the third pipeline is the output of this pipeline.
[0138] (3) The third flow: corresponding to the nth 33 The calculation process of the calculation submodule 110-33, wherein the nth 331 Computational unit and nth 332 The operations involved in the calculation unit are as follows Fig. 9 As shown, the nth 331 In the calculation process of the calculation unit, all elements in the same column as the corresponding diagonal elements do not need to be tapped. 332 In the calculation process of the computing unit, the smaller lower triangular matrix corresponding to the diagonal elements of this calculation and all elements in the same column as the diagonal elements of this calculation (including itself) need to be beat, and the input of the remaining elements in the next iteration is the output of all adders in this section of the pipeline.
[0139] In addition, it should be pointed out that Fig. 9 In the example, the superscript "'" in the upper right corner of the element represents the conjugate of the matrix, for example, the element (3,2) ′ Represents the conjugate of the element (3,2).
[0140] In addition, it is understandable that Fig. 9 The multipliers in the second pipeline are complex multipliers that can perform parallel calculations, the multipliers in the third pipeline are also complex multipliers that can perform parallel calculations, and the adders in the third pipeline are also adders that can perform parallel calculations.
[0141] It is understandable that due to the nth N The calculation module 110-N only needs the nthN1 The calculation submodule 110-N1 and the nth N2 The calculation submodule 110-N2 can complete the calculation, so the nth N The delay of the calculation module 110 -N is R+C.
[0142] In summary, the communication system parameter matrix processing device provided in the embodiment of the present application can adapt to the inversion operation of any order Hermitian matrix. For each additional first-order matrix, one of the above three pipelines will be added, and the operation delay will increase by R+C+C+A. For each three-stage pipeline, different adders and multipliers need to be configured to adapt to the inversion operation of higher-order Hermitian matrices. It is assumed below that the order of the entire matrix is m, and the order currently calculated is n. The number of hardware required for each of the above three pipelines is as follows:
[0143] The number of square root inverse calculation units required in the first section of the pipeline is: 1;
[0144] The number of multipliers required in the second pipeline is: n-1+mn=m-1;
[0145] The number of multipliers required in the third pipeline is: n*(mn)+(m-n+1)(mn) / 2=(m 2 +mn 2 -n) / 2;
[0146] The number of adders required in the third stage of the pipeline is: n*(mn)+(m-n+1)(mn) / 2=(m 2 +mn 2 -n) / 2.
[0147] As an optional implementation manner of the above-mentioned communication system parameter matrix processing device, the above-mentioned communication system parameter matrix processing device also includes:
[0148] No.n N+1 The calculation module is used to calculate the inverse matrix of the communication system parameter matrix according to the inverse matrix of the decomposition matrix.
[0149] It is understandable that the nth N+1 The calculation module is based on the nth N The inverse matrix of the decomposition matrix of the communication system parameter matrix output by the calculation module is calculated to calculate the inverse matrix of the communication system parameter matrix.
[0150] It can be understood that the above communication system parameter matrix processing device also includes:
[0151] Beat register, because the iterative parameters of matrix elements need to be updated repeatedly, the corresponding data needs to be beat synchronously as the data advances in the calculation IP, so that the values therein can be used and updated in subsequent calculations, until the final matrix output.
[0152] See also Fig.10 Based on the same inventive concept, another communication system parameter matrix processing device 200 is provided in the embodiment of the present application. The device includes: an m1-th calculation module 210, an m2-th calculation module 220 and a control module 230, wherein:
[0153] The m1 calculation module 210 communicates with the control module 230 and is used to calculate the diagonal element A in the communication system parameter matrix. ii The inverse of the decomposition value A ii -1 , and A ii -1 Update element A ii ; Where 1≤i≤N, i is the number of times the m1th calculation module is called, and N is the order of the communication system parameter matrix;
[0154] The m2 calculation module 220 communicates with the control module 230 and is used to calculate the value of the updated A ii , respectively calculate the element set R i The inverse value of each element in and the element set C i The decomposition value of each element in the element set R i Update the element set R by finding the inverse value of each element in i Each element in the element set C i Update the element set C with the decomposed value of each element in i Each element in R i ={A i1 ,…,A i(i-1)}, C i ={A (i+1)i ,…,A Ni};
[0155] The control module 230 is used to call the m1th calculation module and the m2th calculation module to perform N iterative operations on the communication system parameter matrix to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix.
[0156] It can be understood that if the above-mentioned another communication system parameter matrix processing device 200 is referred to as a second communication system parameter matrix processing device 200, and the communication system parameter matrix processing device 100 is referred to as a first communication system parameter matrix processing device 100, then the multiplexing mode adopted by the second communication system parameter matrix processing device 200 and the pipeline mode adopted by the first communication system parameter matrix processing device 100 are different in application scenarios and working principles, which are specifically reflected in:
[0157] (1) Different application scenarios: The pipeline mode adopted by the first communication system parameter matrix processing device 100 can be applied to scenarios with higher throughput requirements, while the second communication system parameter matrix processing device 200 can be applied to scenarios with lower throughput requirements;
[0158] (2) Different working principles: The pipeline mode is a form of data parallel computing. It divides the entire data processing process into multiple steps, processes data in a pipeline manner, and performs parallel processing at each stage. The multiplexing mode, on the other hand, uses one or several computing modules together to achieve data operations by repeatedly calling one or several computing modules.
[0159] It should be pointed out that the calculation module calling process of the second communication system parameter matrix processing device 200 calling each calculation module through the control module 230 to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix is similar to the calculation process shown in the iterative operation process of the first communication system parameter matrix processing device 100. The difference lies in that the first communication system parameter matrix processing device 100 adopts a pipeline mode, and the second communication system parameter matrix processing device 200 adopts a multiplexing mode, and the division of the overall calculation process is consistent.
[0160] See also Fig.10 As an optional implementation of the communication system parameter matrix processing device, the second communication system parameter matrix processing device 200 further includes:
[0161] The m3 calculation module 240 communicates with the control module 230 and is used to calculate the value of the updated element set C according to the updated element set C. i Calculate the element set C i+1 The decomposed intermediate values of each element in ′ and the updated element set C i , element set R i and element A ii , calculate the element set R i+1 The inverse intermediate value of each element in ′ is obtained by taking the element set C i+1 The decomposed intermediate values of each element in ′ update the element set C i+1 Each element in ′ is represented by the element set R i+1The inverse intermediate value of each element in ′ updates the element set R i+1 ′, among which C i+1 ′={A (i+1)(i+1) ,…,A N(i+1)}, r i+1 ′={A (i+1)1 ,…,A (i+1)i};
[0162] At this time, the control module 230 is further configured to call the m3 th calculation module 240 to perform N iterative operations on the communication system parameter matrix to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix.
[0163] As an optional implementation of the above communication system parameter matrix processing device, the m1-th calculation module 210 includes:
[0164] mth 11 Reciprocal square root calculation unit for diagonal elements A ii Take the inverse square root to get A ii -1 .
[0165] As an optional implementation of the above communication system parameter matrix processing device, the m2-th calculation module 220 includes:
[0166] A plurality of complex multipliers for performing parallel calculations are used to execute the multiplication calculation process in the calculation process of the m2 th calculation module 220 .
[0167] As an optional implementation of the above communication system parameter matrix processing device, the m3-th calculation module 240 includes:
[0168] mth 31 A calculation submodule, comprising a plurality of complex multipliers for performing parallel calculations, for executing the multiplication calculation process in the calculation process of the m3-th calculation module 240;
[0169] mth 32 The calculation submodule includes a plurality of adders for performing parallel calculations, and is used to execute the addition calculation process in the calculation process of the m3 calculation module 240.
[0170] As an optional implementation manner of the above-mentioned communication system parameter matrix processing device, the above-mentioned second communication system parameter matrix processing device 200 further includes:
[0171] The m4th calculation module communicates with the control module 230 and is used to calculate the inverse matrix of the communication system parameter matrix according to the inverse matrix of the decomposition matrix.
[0172] See also Fig.11 Based on the same inventive concept, the present application also provides a communication system parameter matrix processing method, including:
[0173] Step S310: performing N iterations on the communication system parameter matrix to obtain an inverse matrix of the decomposition matrix of the communication system parameter matrix;
[0174] Wherein, step S310 performs the i-th iterative operation on the communication system parameter matrix, including:
[0175] Step S311: Calculate the diagonal element A ii The inverse of the decomposition value A ii -1 , and A ii -1 Update element A ii ;
[0176] Step S312: According to the updated A ii , respectively calculate the element set R i The inverse value of each element in and the element set C i The decomposed value of each element in the element set R i Update the element set R by the inverse value of each element in i Each element in the element set C i The decomposed value of each element in updates the element set C i Each element in R i ={A i1 ,…,A i(i-1)}, C i ={A (i+1)i ,…,A Ni}.
[0177] As an optional implementation of the above communication system parameter matrix processing method, in step S312, the element set R is calculated respectively. i The inverse value of each element in and the element set C i After the decomposed value of each element in and updating the corresponding elements, it also includes:
[0178] Step S313: According to the updated element set C i Calculate the element set C i+1 The decomposed intermediate values of each element in ′ are based on the element set C i+1 The decomposed intermediate values of each element in ′ update the element set C i+1 Each element in ′, C i+1 ′={A (i+1)(i+1) ,…,A N(i+1)};
[0179] According to the updated element set Ci , element set R i and element A ii , calculate the element set R i+1 The inverse intermediate value of each element in ′ is obtained by taking the element set R ii1 The inverse intermediate values of each element in ′ update the element set R i+1 Each element in ′, R i+1 ′={A (i+1)1 ,…,A (i+1)i}.
[0180] As an optional implementation of the above communication system parameter matrix processing method, step S212 calculates the element set R i The inverse value of each element in and the element set C i The decomposition value of each element in includes: ii and the element set R obtained at the i-1th iteration i ′, calculate the element set R i The inverse value of each element in; according to the updated A ii and the element set C obtained at the i-1th iteration i ′, calculate the element set C i The decomposition value of each element in .
[0181] See also Fig.11 As an optional implementation of the communication system parameter matrix processing method, in step S310, it also includes:
[0182] Step S320: Calculate the inverse matrix of the communication system parameter matrix according to the inverse matrix of the decomposition matrix.
[0183] As an optional implementation of the above communication system parameter matrix processing method, the above communication system parameter matrix processing method further includes:
[0184] Step S330: performing estimation processing or detection processing according to the inverse matrix of the communication system parameter matrix.
[0185] The estimation processing includes, for example, channel estimation (CHE), and the detection processing includes, for example, MIMO detection and demodulation.
[0186] Fig.12 A schematic diagram of an electronic device provided in an embodiment of the present application. Fig.12 The electronic device 400 includes: a processor 410, a memory 420 and a communication interface 430. These components are interconnected and communicate with each other through a communication bus 440 and / or other forms of connection mechanisms (not shown).
[0187] The memory 420 includes one or more (only one is shown in the figure), which may be, but not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable read-only memory (EEPROM), etc. The processor 410 and other possible components may access the memory 420 and read and / or write data therein.
[0188] The processor 410 includes one or more (only one is shown in the figure), which can be an integrated circuit chip with signal processing capabilities. The above-mentioned processor 410 can be a general-purpose processor, including a central processing unit (CPU), a micro control unit (MCU), a network processor (NP) or other conventional processors; it can also be a special-purpose processor, including a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
[0189] The communication interface 430 includes one or more (only one is shown in the figure), which can be used to communicate directly or indirectly with other devices to exchange data. For example, the communication interface 430 can be an Ethernet interface; it can be a mobile communication network interface, such as an interface of a 3G, 4G, or 5G network; or it can be other types of interfaces with data transceiving functions.
[0190] One or more computer program instructions may be stored in the memory 420, and the processor 410 may read and execute these computer program instructions to implement the communication system parameter matrix processing method and other desired functions provided in the embodiments of the present application.
[0191] Understandably, Fig.12The structure shown is for illustration only. The electronic device 400 may also include Fig.12 More or fewer components as shown, or with Fig.12 Different configurations are shown. Fig.12 Each component shown in the figure can be implemented by hardware, software or a combination thereof. For example, the electronic device 400 can be a single server (or other device with computing processing capabilities), a combination of multiple servers, a cluster of a large number of servers, etc., and can be both a physical device and a virtual device.
[0192] The present application also provides a computer-readable storage medium, which stores computer program instructions. When the computer program instructions are read and executed by a computer processor, the communication system parameter matrix processing method provided by the present application is executed. For example, the computer-readable storage medium can be implemented as Fig.12 The memory 420 in the electronic device 400.
[0193] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0194] In addition, the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0195] Furthermore, the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
[0196] The above description is only an embodiment of the present application and is not intended to limit the protection scope of the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A communication system parameter matrix processing device, characterized in that: include: The n1th computing module, the n2th computing module, ... and the nth computing module are connected in sequence N Calculation module, N is the order of the communication system parameter matrix; The n1th calculation module, the n2th calculation module, ... and the nth N A calculation module is used to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix in a pipeline mode, wherein the nth i (1≤i≤N) a calculation module is used to calculate the inverse value of the i-th row element of the decomposition matrix of the communication system parameter matrix; The nth i Computing module, including: No.n i1 A calculation submodule, used to calculate the diagonal element A in the communication system parameter matrix ii The inverse of the decomposition value A ii -1 , and A ii -1 Update element A ii ; No.n i2 The calculation submodule is used to calculate the updated A ii , respectively calculate the element set R i The inverse value of each element in and the element set C i The decomposed value of each element in the element set R i Update the element set R by the inverse value of each element in i Each element in the element set C i The decomposed value of each element in updates the element set C i Each element in R i ={A i1 , …, A i(i-1) }, C i ={A (i+1)i , …, A Ni }; The nth i The computing module also includes: No.n i3 The calculation submodule is used to calculate the updated element set C i Calculate the element set C i+1 The decomposed intermediate values of each element in ′ and the updated element set C i , element set R i and element A ii , calculate the element set R i+1 The inverse intermediate value of each element in ′ is obtained by taking the element set C i+1 The decomposed intermediate values of each element in ′ update the element set C i+1 Each element in ′ is represented by the element set R i+1 The inverse intermediate value of each element in ′ updates the element set R i+1 ′, among which C i+1 ′={A (i+1)(i+1) , …, A N(i+1) }, R i+1 ′={A (i+1)1 , …, A (i+1)i }; wherein the decomposed intermediate value of the element is used for the nth (i+1)2 The calculation submodule calculates the element set C i+1 The decomposed value of each element in; the inverse intermediate value of the element is used for the nth (i+1)2 The calculation submodule calculates the element set R i+1 The inverse of each element in .
2. The communication system parameter matrix processing device according to claim 1, characterized in that: The nth i1 Computing submodule, including: No.n i1 Reciprocal square root calculation unit for diagonal elements A ii Take the inverse square root to get A ii -1 ; and / or, the nth i2 Computing submodule, including: A plurality of complex multipliers for parallel computing are used to execute the nth i2 The multiplication calculation process in the calculation process of the calculation submodule; And / or, the device further comprises: No.n N+1 A calculation module is used to calculate the inverse matrix of the communication system parameter matrix according to the inverse matrix of the decomposition matrix.
3. The communication system parameter matrix processing device according to claim 1, characterized in that: The nth i3 Computing submodule, including: No.n i31 A computing unit, comprising a plurality of complex multipliers for performing parallel computing, for executing the nth i3 The multiplication calculation process in the calculation process of the calculation submodule; No.n i32 A computing unit, comprising a plurality of adders for performing parallel computing, for executing the nth i3 The addition calculation process in the calculation process of the calculation submodule.
4. A communication system parameter matrix processing device, characterized in that: include: The m1th calculation module, the m2th calculation module and the control module, wherein: The m1th calculation module communicates with the control module and is used to calculate the diagonal element A in the communication system parameter matrix. ii The inverse of the decomposition value A ii -1 , and A ii -1 Update element A ii ; Wherein, 1≤i≤N, i is the number of times the m1th calculation module is called, and N is the order of the communication system parameter matrix; The m2th calculation module communicates with the control module and is used to calculate the value of the updated A according to the updated A. ii , respectively calculate the element set R i The inverse value of each element in and the element set C i The decomposed value of each element in the element set R i Update the element set R by the inverse value of each element in i Each element in the element set C i The decomposed value of each element in updates the element set C i Each element in R i ={A i1 , …, A i(i-1) }, C i ={A (i+1)i , …, A Ni }; The control module is used to call the m1th calculation module and the m2th calculation module to perform N iterative operations on the communication system parameter matrix to calculate the inverse matrix of the decomposition matrix of the communication system parameter matrix; The device also includes: The m3 calculation module communicates with the control module and is used to calculate the value of the updated element set C according to the updated element set C. i Calculate the element set C i+1 The decomposed intermediate values of each element in ′ and the updated element set C i , element set R i and element A ii , calculate the element set R i+1 The inverse intermediate value of each element in ′ is obtained by taking the element set C i+1 The decomposed intermediate values of each element in ′ update the element set C i+1 Each element in ′ is represented by the element set R i+1 The inverse intermediate value of each element in ′ updates the element set R i+1 ′, among which C i+1 ′={A (i+1)(i+1) , …, A N(i+1) }, R i+1 ′={A (i+1)1 , …, A (i+1)i }; The decomposed intermediate value of the element is used to calculate the element set C in the i+1th iteration operation i+1 The decomposed value of each element in; the inverse intermediate value of the element is used to calculate the element set R in the i+1th iteration operation i+1 The inverse of each element in .
5. The communication system parameter matrix processing device according to claim 4, characterized in that: The m1th computing module comprises: mth 11 Reciprocal square root calculation unit for diagonal elements A ii Take the inverse square root to get A ii -1 ; And / or, the m2th calculation module comprises: A plurality of complex multipliers for performing parallel calculations, used to execute the multiplication calculation process in the calculation process of the m2-th calculation module; And / or, the device further comprises: The m4th calculation module communicates with the control module and is used to calculate the inverse matrix of the communication system parameter matrix according to the inverse matrix of the decomposition matrix.
6. The communication system parameter matrix processing device according to claim 4, characterized in that: The m3th calculation module comprises: mth 31 A calculation submodule, comprising a plurality of complex multipliers for performing parallel calculations, for executing the multiplication calculation process in the calculation process of the m3th calculation module; mth 32 The calculation submodule includes a plurality of adders for performing parallel calculations, and is used to execute the addition calculation process in the calculation process of the m3th calculation module.
7. A communication system parameter matrix processing method, characterized in that: include: Performing N iterative operations on the communication system parameter matrix to obtain an inverse matrix of the decomposition matrix of the communication system parameter matrix; The i-th iteration operation (1≤i≤N) of the communication system parameter matrix is performed, including: Calculate the diagonal elements A ii The inverse of the decomposition value A ii -1 , and A ii -1 Update element A ii ; According to the updated A ii , respectively calculate the element set R i The inverse value of each element in and the element set C i The decomposed value of each element in the element set R i Update the element set R by the inverse value of each element in i Each element in the element set C i The decomposed values of each element in update the element set C i Each element in R i ={A i1 , …, A i(i-1) }, C i ={A (i+1)i , …, A Ni }; In the above calculation, the element set R i The inverse value of each element in and the element set C i After the decomposed value of each element in and updating the corresponding elements, it also includes: According to the updated element set C i Calculate the element set C i+1 The decomposed intermediate values of each element in ′ are based on the element set C i+1 The decomposed intermediate values of each element in ′ update the element set C i+1 Each element in ′, C i+1 ′={A (i+1)(i+1) , …, A N(i+1) }; wherein the decomposed intermediate value of the element is used to calculate the element set C in the i+1th iteration operation i+1 The decomposition value of each element in; According to the updated element set C i , element set R i and element A ii , calculate the element set R i+1 The inverse intermediate value of each element in ′ is obtained by taking the element set R i+1 The inverse intermediate values of each element in ′ update the element set R i+1 Each element in ′, R i+1 ′={A (i+1)1 , …, A (i+1)i }; wherein the inverse intermediate value of the element is used to calculate the element set R in the i+1th iteration operation i+1 The inverse of each element in .
8. The communication system parameter matrix processing method according to claim 7, characterized in that: The element set R is calculated respectively i The inverse value of each element in and the element set C i The decomposition values of each element in include: According to the updated A ii and the element set R obtained at the i-1th iteration i ′, calculate the element set R i The inverse value of each element in ; According to the updated A ii and the element set C obtained at the i-1th iteration i ′, calculate the element set C i The decomposition value of each element in; And / or, after performing N iterative operations on the communication system parameter matrix to obtain an inverse matrix of the decomposition matrix of the communication system parameter matrix, the method further includes: The inverse matrix of the communication system parameter matrix is calculated according to the inverse matrix of the decomposition matrix.
Citation Information
Patent Citations
Arbitrary-order matrix inversion hardware acceleration system based on cholesky decomposition, which adopts loop iteration mode
CN111723336A