CN116647428A - SVD (singular value decomposition) method and device of channel matrix, electronic equipment and medium - Google Patents

SVD (singular value decomposition) method and device of channel matrix, electronic equipment and medium Download PDF

Info

Publication number
CN116647428A
CN116647428A CN202310921688.6A CN202310921688A CN116647428A CN 116647428 A CN116647428 A CN 116647428A CN 202310921688 A CN202310921688 A CN 202310921688A CN 116647428 A CN116647428 A CN 116647428A
Authority
CN
China
Prior art keywords
matrix
row
operation unit
taking
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310921688.6A
Other languages
Chinese (zh)
Other versions
CN116647428B (en
Inventor
凡明清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gaotuoxunda Beijing Microelectronics Co ltd
Original Assignee
Gaotuoxunda Beijing Microelectronics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gaotuoxunda Beijing Microelectronics Co ltd filed Critical Gaotuoxunda Beijing Microelectronics Co ltd
Priority to CN202310921688.6A priority Critical patent/CN116647428B/en
Publication of CN116647428A publication Critical patent/CN116647428A/en
Application granted granted Critical
Publication of CN116647428B publication Critical patent/CN116647428B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0202Channel estimation
    • H04L25/024Channel estimation channel estimation algorithms
    • H04L25/0242Channel estimation channel estimation algorithms using matrix methods
    • H04L25/0246Channel estimation channel estimation algorithms using matrix methods with factorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • H04B7/0456Selection of precoding matrices or codebooks, e.g. using matrices antenna weighting
    • H04B7/0486Selection of precoding matrices or codebooks, e.g. using matrices antenna weighting taking channel rank into account
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Complex Calculations (AREA)

Abstract

The application provides a SVD decomposition method, a SVD decomposition device, electronic equipment and a SVD decomposition medium of a channel matrix, comprising the following steps: paired channel matrixTaking conjugate transposition to obtain transposed channel matrixThe method comprises the steps of carrying out a first treatment on the surface of the Multiple multiplexing improved cordic operation unit pair transposed channel matrixPerforming decomposition to obtain an upper triangular matrixOrthogonal matrixThe method comprises the steps of carrying out a first treatment on the surface of the From the upper triangular matrix according to the number of rows of the complex channel matrixTaking out square matrix with equal number of rows and columnsAnd from an orthogonal matrixIs the conjugate transpose of (a)Matrix of equal columns is taken outThe method comprises the steps of carrying out a first treatment on the surface of the Opposite square matrixObtaining diagonal matrix using complex Jacobi transformFor a pair ofTransforming to obtain matrix V, and diagonal matrixSum matrixAs a result of SVD decomposition of the complex channel matrix. Therefore, the SVD decomposition result can be obtained rapidly by continuously multiplexing the improved cordic operation unit, and the operation time and operation resources are saved.

Description

SVD (singular value decomposition) method and device of channel matrix, electronic equipment and medium
Technical Field
The present application relates to the field of wireless communications technologies, and in particular, to a method, an apparatus, an electronic device, and a medium for decomposing a channel matrix by using SVD.
Background
In the world information surge, large bandwidth, high speed have been one of the important demands of people in terms of communication. In the face of limited spectrum resources and an increased number of users, the use of multi-antenna technology to increase transmission rates has been turned to. The precoding technology is characterized by stability, reliability and high gain, and forms the standard of high-speed data transmission standard, such as WIFI and the like. In the implementation of the precoding technique, SVD decomposition is widely used to decompose the channel state matrix (CSI), but SVD decomposition operation is very complex, and the required angle calculation steps are more, which is time-consuming and resource-consuming.
Disclosure of Invention
Accordingly, the present application is directed to a method, an apparatus, an electronic device, and a medium for SVD decomposition of a channel matrix, in which an improved cordic operation unit makes an input accompanying vector follow each cordic rotation of an original vector, and obtains each output accompanying vector after all cordic rotations are completed, so that an SVD decomposition result can be obtained quickly, and operation time is saved; by continuously multiplexing the improved cordic operation units, operation resources are saved, and meanwhile, hardware resources can be saved on hardware realization, and the hardware realization area is reduced.
The embodiment of the application provides an SVD (singular value decomposition) method of a channel matrix, which comprises the following steps:
paired channel matrixTaking conjugate transpose to obtain transpose channel matrix +.>
Multiple multiplexing improved cordic operation unit for transposed channel matrixPerforming decomposition to obtain upper triangular matrix ++>And orthogonal matrix->The method comprises the steps of carrying out a first treatment on the surface of the Wherein the input of the improved cordic operation unit is a primary vector and at least one accompanying vector; the output of the improved cordic operation unit is the modulus and the argument of the original vector and each cordic rotation following the original vector, and each accompanying vector is obtained after all cordic rotations are finished;
according to the complex channel matrixFrom the upper triangular matrix +.>Taking out square matrix with equal number of rows and columnsAnd from the orthogonal matrix +.>Conjugate transpose matrix of->Matrix of equal columns is taken out->
For the square matrixObtaining a diagonal matrix using a complex Jacobi transform>For the matrix->Transforming to obtain matrix->The diagonal matrix ∈>And the matrix->As matrix for the complex channel>SVD decomposition results of (2).
The embodiment of the application also provides an SVD device of the channel matrix, which comprises:
Transpose module for complex channel matrixTaking conjugate transpose to obtain transpose channel matrix +.>
A decomposition module for multiplexing the transposed channel matrix with the improved cordic operation unitPerforming decomposition to obtain upper triangular matrix ++>And orthogonal matrix->The method comprises the steps of carrying out a first treatment on the surface of the Wherein the input of the improved cordic operation unit is a primary vector and at least one accompanying vector; the output of the improved cordic operation unit is the modulus and the argument of the original vector and each accompanying vector obtained after each cordic rotation following the original vector is finished;
an extraction module for extracting the complex channel matrixFrom the upper triangular matrix +.>Square arrays with equal number of rows and columns are taken out>And from the orthogonal matrix +.>Conjugate transpose matrix of->Matrix of equal columns is taken out->
A transformation module for transforming the square matrixObtaining a diagonal matrix using a complex Jacobi transform>For the matrixTransforming to obtain matrix->The diagonal matrix ∈>And the matrix->As matrix for the complex channel>SVD decomposition results of (2).
The embodiment of the application also provides electronic equipment, which comprises: the system comprises a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, the processor and the memory are communicated through the bus when the electronic device runs, and the machine-readable instructions are executed by the processor to perform the steps of the SVD decomposition method of the channel matrix.
The embodiment of the present application also provides a computer readable storage medium having a computer program stored thereon, which when executed by a processor performs the steps of a SVD decomposition method of a channel matrix as described above.
According to the SVD decomposition method, the SVD decomposition device, the electronic equipment and the SVD decomposition medium of the channel matrix, the improved cordic operation unit enables the input accompanying vector to follow each cordic rotation of the original vector, each output accompanying vector is obtained after all cordic rotations are completed, SVD decomposition results can be obtained rapidly, and operation time is saved; by continuously multiplexing the improved cordic operation units, operation resources are saved, and meanwhile, hardware resources can be saved on hardware realization, and the hardware realization area is reduced.
In order to make the above objects, features and advantages of the present application more comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments will be briefly described below, it being understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and other related drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a flowchart illustrating an SVD decomposition method of a channel matrix according to an embodiment of the present application;
FIG. 2 is a schematic diagram of an improved cordic computing unit according to an embodiment of the application;
FIG. 3 is a schematic diagram of an improved cordic operation procedure provided by an embodiment of the present application;
fig. 4 is a schematic structural diagram of an SVD decomposition device for a channel matrix according to an embodiment of the present application;
fig. 5 shows a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. The components of the embodiments of the present application generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the application, as presented in the figures, is not intended to limit the scope of the application, as claimed, but is merely representative of selected embodiments of the application. Based on the embodiments of the present application, every other embodiment obtained by a person skilled in the art without making any inventive effort falls within the scope of protection of the present application.
It has been found that in the world information surge, a large bandwidth and a high rate are always one of important demands of people in communication. In the face of limited spectrum resources and an increased number of users, the use of multi-antenna technology to increase transmission rates has been turned to. The precoding technology is characterized by stability, reliability and high gain, and forms the standard of high-speed data transmission standard, such as WIFI and the like. In the implementation of the precoding technique, SVD (singular value) decomposition is widely used to decompose the channel state matrix (CSI), but SVD decomposition operation is very complex, and the required angle calculation step is more, which is time-consuming and resource-consuming.
Based on this, the embodiment of the application provides a SVD decomposition method, a device, an electronic device and a medium of a channel matrix, and an improved cordic operation unit enables an input accompanying vector to follow each cordic rotation of an original vector, and each output accompanying vector is obtained after all cordic rotations are completed, so that SVD decomposition results can be obtained quickly, and operation time is saved; by continuously multiplexing the improved cordic operation units, operation resources are saved, and meanwhile, hardware resources can be saved on hardware realization, and the hardware realization area is reduced.
Referring to fig. 1, fig. 1 is a flowchart of an SVD decomposition method of a channel matrix according to an embodiment of the present application. As shown in fig. 1, a method provided by an embodiment of the present application includes:
s101, paired channel matrixTaking conjugate transpose to obtain transpose channel matrix +.>
Here, a complex channel matrixThe number of lines of (2) is 1 or 2; when->When the number of lines is 1, the diagonal matrix obtained by decomposition is +.>Sum matrix->The number of columns is 1; when->When the number of lines is 2, the diagonal matrix obtained by decomposition is +.>Sum matrix->Is 2.
S102, multiplexing the transposed channel matrix by the improved cordic operation unitPerforming decomposition to obtain upper triangular matrix ++>And orthogonal matrix->
In this step, the multiplexing modified cordic operation unit may transpose the channel matrixDecomposition into an upper triangular matrix->And orthogonal matrix->Is a product of (a) and (b).
Referring to fig. 2 and 3, fig. 2 is a schematic diagram of an improved cordic computing unit according to an embodiment of the application; FIG. 3 is a schematic diagram of an improved cordic operation procedure according to an embodiment of the present application. As shown in fig. 2, the cordic (Coordinate Rotation Digital Computer) algorithm, i.e., the coordinate rotation digital computing method, requires a large number of repetitions of the following operation when the conventional cordic algorithm is applied to SVD decomposition: firstly, determining an amplitude angle of a certain vector, acquiring a trigonometric function value of the corresponding amplitude angle through a table lookup method, and then calculating by a plurality of other vectors and the trigonometric function value; therefore, the angle operation in the calculation process is very complicated, and a large amount of calculation resources are consumed.
Therefore, the embodiment of the application provides an improved cordic operation unit, which is added with accompanying inputs and corresponding accompanying outputs based on the traditional cordic algorithm; i.e. the input of the modified cordic arithmetic unit is a primary vectorAnd at least one companion vector->The method comprises the steps of carrying out a first treatment on the surface of the Output is the modulo +.>Angle of breadthAnd following each cordic rotation of said original vector, each companion vector being obtained after all cordic rotations are completed +.>
As shown in fig. 3, the process of improving the module and argument of the original vector calculated by the cordic operation unit includes: a process of turning an original vector (vector shown by a solid line in fig. 3) formed from an original point to a certain point in a coordinate system to a real axis through a plurality of cordic rotations; the length on the real axis obtained after the rotation is the module of the original vector, the rotated angle is the amplitude angle of the original vector, the clockwise rotation is a positive angle, and the anticlockwise rotation is a negative angle. The input accompanying vector (the vector shown by the dotted line in fig. 3) will follow each cordic rotation of the original vector and each rotation by the same angle as the original vector; that is, after each cordic rotation is performed on the original vector, cordic rotation is performed on each accompanying vector by the angle of the next cordic rotation; when the original vector finishes all cordic rotations and reaches the real axis, the corresponding rotated accompanying vector is taken as the output accompanying vector.
Exemplary, the origin of the inputVector isThe input companion vector is +.>The original vector is turned to a real shaft with a model of 1, the turned angle is clockwise turned by 60 degrees, and the radian is +.>The accompanying vector rotates by the same angle with the original vector, i.e. by 60 ° clockwise, by +.>Is turned into->The output accompanying vector is +>
S103, according to the complex channel matrixFrom the upper triangular matrix +.>Square arrays with equal number of rows and columns are taken out>And from the orthogonal matrix +.>Conjugate transpose matrix of->Matrix of equal columns is taken out->
Here, the upper triangular matrix is taken outThe first row or the first two rows and the second rows are marked as square matrix +.>The method comprises the steps of carrying out a first treatment on the surface of the For orthogonal matrix->Taking conjugate transpose to obtain conjugate transpose matrix +.>The method comprises the steps of carrying out a first treatment on the surface of the Taking matrix->The first column or the first two columns of (a) get the matrix +.>
S104, for the square matrixObtaining a diagonal matrix using a complex Jacobi transform>For the matrix->Transforming to obtain matrix->The diagonal matrix ∈>And the matrix->As matrix for the complex channel>SVD decomposition results of (2).
Wherein the diagonal matrixThe channel gain, i.e. the variation of the signal power, can be characterized; />A weight coefficient vector may be represented.
Further, after step S104, the method further includes: s105, multiplexing the improved cordic operation unit for multiple times, and performing angle compression on the matrix V to obtain a compression angle. In this way, by compressing the matrix V into a series of quantized angle values, the amount of data fed back can be reduced.
In one possible implementation, when the complex channel matrixWhen the number of lines is 2, S102 may include the following steps:
step 31, aiming at the transposed channel matrixTaking the first element of the row as an original vector, taking the second element of the row as an accompanying vector, and inputting the modified cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the first element of the same line number, and taking the output accompanying vector as the second element of the same line number to obtain a matrix +.>
Step 32, setting the transposed channel matrixIdentity matrix with the same number of rows; for the transposed channel matrix->Respectively taking the first element of each row as an original vector, respectively taking each element of the same row number in the identity matrix as an accompanying vector, and inputting the element into the improved cordic operation unit; each accompanying vector output by the modified cordic operation unit is used as the unit moment respectivelyElements at corresponding positions in the matrix, obtaining the matrix +.>
Step 33, for the matrixTaking the elements of the first row of the first column as a real part, taking the elements of each row of the rest of the first column as imaginary parts, and combining to obtain a plurality of original vectors; taking the real part of the elements of the first row of the second column as the real part, and taking the real part of the elements of each row of the rest of the second column as the imaginary parts respectively, and combining to obtain a plurality of adjoint vectors; the element of the imaginary part is at- >The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the element of the first row and the real part of the accompanying vector output by the improved cordic operation unit as the real part of the element of the first row of the second row, and taking the imaginary part of the accompanying vector as the real part of the elements of each other row of the second row respectively;
taking the imaginary parts of the elements of the first row of the second column as real parts, taking the imaginary parts of the elements of each row of the rest of the second column as imaginary parts respectively, and recombining to obtain a plurality of adjoint vectors; to the element of the imaginary partThe original vectors with the same corresponding line numbers and the recombined companion vectors are taken as a group, and are input into the improved cordic operation unit; the real part of the accompanying vector output by the improved cordic operation unit is used as the imaginary part of the element of the first row of the second column, the imaginary part is respectively used as the imaginary part of the element of each other row of the second column, and a matrix is obtained>
Step 34, for the matrixTaking the elements of the first row of the first column as a real part, taking the elements of each row of the rest of the first column as imaginary parts, and combining to obtain a plurality of original vectors; the matrix- >The real part of each element in the first row is taken as a real part, the real parts of the corresponding elements in the rest rows are taken as imaginary parts, and a plurality of adjoint vectors are obtained through combination; the element of the imaginary part is at->The corresponding number of lines and the element of the imaginary part are in->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the real part of each accompanying vector output by the modified cordic operation unit as the real part of each element in the first row, and taking the imaginary part as the real part of each corresponding element of the other rows except the first row;
exemplary, for the(4 x 2) and->(4 x 4) will->The elements of the first row of the first column are used as real parts, the elements of each of the other rows of the first column are respectively used as imaginary parts, and a plurality of original vectors are obtained by combining, wherein the original vectors are respectively as follows: />And->
The matrix is processedThe real part of each element in the first row is taken as a real part, the real parts of the corresponding elements in the rest rows are taken as imaginary parts, and a plurality of adjoint vectors are obtained through combination. First element for first line +.>The corresponding elements in the other rows are +.>、/>And->The multiple associated vectors are +.>、/>And->The method comprises the steps of carrying out a first treatment on the surface of the Similarly, for the second element of the first row +. >The companion vectors are +.>And->The method comprises the steps of carrying out a first treatment on the surface of the Third element for the first line +.>The companion vectors are +.>And->The method comprises the steps of carrying out a first treatment on the surface of the Fourth element for the first line +.>The companion vectors are +.>And->
To the element of the imaginary partThe corresponding number of lines and the element of the imaginary part are in->The original vector and the accompanying vector with the same corresponding line number are used as a group; for example, in the case of the element of the imaginary part +.>Original vector with corresponding line number of 2To make it in +.>Companion vector with corresponding line number of 2、/>And->As one group, the remaining groups are similar.
Then, the matrix isThe imaginary part of each element in the first row is taken as a real part, the imaginary parts of the corresponding elements in the rest rows are taken as imaginary parts, and a plurality of adjoint vectors are obtained through recombination; the element of the imaginary part is at->The corresponding number of lines and the element of the imaginary part are in->The original vector with the same corresponding line number and the recombined accompanying vector are taken as a group, and the modified cordic operation unit is input; the real part of the accompanying vector output by the improved cordic operation unit is taken as the imaginary part of each element of the first row, the imaginary parts are respectively taken as the imaginary parts of the corresponding elements of the other rows, and a matrix is obtained>
Step 35, for the matrix Will->The elements of the second column of each row except the first row are respectively used as original vectors, and any value is used as an accompanying vector to be input into the improved cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the elements of each row except the first row to obtain a matrix +.>
Step 36, for matrixWill->The elements of each row except the first row are used as original vectors to form a matrix +.>Each element of each row except the first row is respectively used as a companion vector; will be at->Line number and at (2)The original vector and the accompanying vector with the same number of lines are taken as a group, and are input into the improved cordic operation unit; taking the accompanying vector output by the improved cordic operation unit as a matrix +.>The value of each element of the corresponding row, resulting in a matrix +.>
Step 37, for matrixTaking elements of a second row of a second column as a real part, taking elements of other rows except the first row and the second row of the second column as imaginary parts, combining to obtain a plurality of original vectors, taking any value as an accompanying vector, and inputting the modified cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the elements of the second row of the second column, and taking 0 by the elements of the other rows except the first row and the second row to obtain the matrix- >
Step 38, for matrixThe elements of the second row of the second columnThe element is used as a real part, the elements of the second column except the first row and the second row are used as imaginary parts, and a plurality of original vectors are obtained through combination; in matrix->The real part of each element of the second row is taken as a real part, the real parts of the corresponding elements of the other rows except the first row and the second row are taken as imaginary parts, and a plurality of adjoint vectors are obtained through combination; the element of the imaginary part is at->The corresponding number of lines and the element of the imaginary part are in->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the real part of the accompanying vector output by the modified cordic operation unit as the real part of each element of the second row and the imaginary part as the real parts of the corresponding elements of other rows except the first row and the second row;
in a matrix formThe imaginary part of each element of the second row is taken as a real part, the imaginary parts of the elements of the other rows except the first row and the second row are taken as imaginary parts, and a plurality of adjoint vectors are obtained through recombination; the element of the imaginary part is at->The corresponding number of lines and the element of the imaginary part are in->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; the real part of the accompanying vector output by the improved cordic operation unit is taken as the imaginary part of each element of the second row, the imaginary part is taken as the imaginary parts of the corresponding elements of other rows except the first row and the second row, and the matrix- >
In another possible embodiment, when the complex channel matrixWhen the number of lines is 1, S102 may include the following steps:
step 41, aiming at the transposed channel matrixTaking the first element of the row as an original vector, taking an arbitrary value as an accompanying vector, and inputting the arbitrary value into the modified cordic operation unit; taking the module of the original vector output by the improved cordic operation unit as the first element of the same line number to obtain a matrix +.>
Step 42, setting the transposed channel matrixIdentity matrix with the same number of rows; for the transposed channel matrix->Respectively taking the first element of each row as an original vector, respectively taking each element of the same row number in the identity matrix as an accompanying vector, and inputting the element into the improved cordic operation unit; each accompanying vector output by the improved cordic operation unit is respectively used as an element of a corresponding position in the identity matrix to obtain a matrix +.>
Step 43, for the matrixTaking the elements of the first row of the first column as a real part, taking the elements of each row of the rest of the first column as imaginary parts, and combining to obtain a plurality of original vectors; inputting the modified cordic operation unit by taking any value as an accompanying vector; the modified cordic operation unit Taking the modulus of the output original vector as the element of the first row and the elements of the other rows of the first row as 0 to obtain the matrix +.>
Step 44, for the matrixTaking the elements of the first row of the first column as a real part, taking the elements of each row of the rest of the first column as imaginary parts, and combining to obtain a plurality of original vectors; the matrix->The real part of each element in the first row is taken as a real part, the real parts of the corresponding elements in the rest rows are taken as imaginary parts, and a plurality of adjoint vectors are obtained through combination; the element of the imaginary part is at->The corresponding number of lines and the element of the imaginary part are in->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the real part of each accompanying vector output by the modified cordic operation unit as the real part of each element in the first row, and taking the imaginary part as the real part of each corresponding element of the other rows except the first row;
the matrix is processedThe imaginary part of each element in the first row is taken as a real part, the imaginary parts of the corresponding elements in the rest rows are taken as imaginary parts, and a plurality of adjoint vectors are obtained through recombination; the element of the imaginary part is at->The corresponding number of lines and the element of the imaginary part are in->The sum of original vectors with the same corresponding line number The recombined companion vectors are taken as a group and input into the modified cordic operation unit; the real part of the accompanying vector output by the improved cordic operation unit is used as the imaginary part of each element of the first row, the imaginary part is respectively used as the imaginary parts of the corresponding elements of the other rows, and the matrix is obtained>
Specifically, for a 2xn complex channel matrixAn implementation procedure of an optional SVD decomposition step according to an embodiment of the present invention is as follows:
first toTaking conjugate transpose to obtain->I.e. +.>. And (3) recording:
(1)
multiplying a complex matrixFirst, it is listed as real number (modulus):
(2)
wherein, the liquid crystal display device comprises a liquid crystal display device,
for a unitary matrix, also the complex matrix is multiplied byObtaining
(3)
Givens is sequentially performed on the 1 st row and the 2 nd row, the 1 st row and the 3 rd row, …, and the 1 st row and the n th row of the formula (2), and the rotation is performed, so that the 2 nd, … th and n th row elements of the first column are 0, namely:
(4)
wherein, the liquid crystal display device comprises a liquid crystal display device,is a transformation of the form:
(5)
wherein the method comprises the steps ofIs real and satisfy->Can be written as +.>,/>Wherein->The value is an angle that can turn the target vector to the real axis.
As forIn other words, it will->Turning to the real axis, there is +.>Which satisfies the following requirements
(6)
Similarly, the Givens rotation is sequentially performed on the formula (3), and there are:
(7)
the operation of equation (4) is similar to that of equation (2), a complex matrix is multiplied by the left, and the 2 nd, … th, n rows of the second column are elemental to real numbers (modulo values).
(8)
Wherein the method comprises the steps of
Similarly, equation (7) is also multiplied by the complex matrix:
(9)
then Givens transform is performed on equation (8), and the elements of rows 3, …, n of the second column of equation (8) are set to 0:
(10)
similarly, the Givens transform is also performed on the formula (9), and there are:
(11)
the result obtained in the above formula (10) isThe result obtained by the formula (11) is +.>Comparison type (10)And formula (11), then there is:
(12)
it can also be written as:
(13)
due toOnly the first two rows are not 0, thus taking +.>The first two lines of (2) are marked as +.>Taking->The first two columns of (2) are marked as +.>. Formula (13) can be written as:
(14)
due toIs a column orthogonal matrix, thus matrix->And the square matrix->The first relation is satisfied:
(15)
in a possible implementation, the square matrix is processed in step S104Obtaining a diagonal matrix using a complex Jacobi transform>For the matrix->Transforming to obtain matrix->The implementation process of (1) is as follows:
according to formula (10), thenThe form of (2) is:
(16)
then, toTo perform complex jacobi transformation to enable +.>For diagonal matrix->The method comprises the steps of carrying out a first treatment on the surface of the The transformation formula can be expressed as:
(17)
wherein:,/>and->The method meets the following conditions:
(18)
formula (17) can be described as:
(19)
substituting the first relational expression into the conversion formula, that is, substituting the expression (15) into the expression (19), a second relational expression can be obtained:
(20)
Taking the conjugate transpose of the second relation (20), further comprising:
(21)
wherein the push-out can be performed,
in the formula (21) of the present invention,and->I.e. the required weight coefficient vector and the channel gain. In this way, a complex channel matrix can be obtained quickly>SVD decomposition results of (2).
More specifically, in one example, toFor example, transposed channel matrix +.>The decomposition implementation process of (2) is described.
(1) For the followingFor each row of (4 x 2), the first element is input to the modified cordic operation unit as the original vector, the second element is input as the accompanying vector, then cordic rotation is performed, the modulus of the obtained original vector is taken as the value of the first element, and the obtained output accompanying vector is taken as the value of the second element. And (3) recording:
(22)
after the operation (1) above, a new product is obtainedThe first column of the matrix is real, and for ease of representation, the operation for each row can be written as a left-hand-by-one matrix, and the formula can be expressed as:
(23)
in the method, in the process of the invention,
(2) Setting the transposed channel matrixThe number of rows of the same identity matrix, namely the scale of the identity matrix is 4x4; for->For each row of (4 x 2), the first element is input to the modified cordic operation unit as the original vector, and an identity matrix (and +. >The same number of rows) are used as input accompanying vectors respectively, then cordic rotation is performed, and the obtained output accompanying vectors are used as the corresponding unit matrixes respectivelyThe value of each element of a row, the new matrix obtained is denoted +.>
The operations described above for each row can also be expressed as a left-hand matrixI.e. can be expressed as:
(24)
(3) For the one obtained after the operation of (1)The method comprises the steps of taking elements of a first row of a first column as a real part, taking elements of a second row, a third row and a fourth row of the first column as imaginary parts, respectively, inputting an improved cordic operation unit as an original vector, taking the real parts of the elements of the first row of the second column as the real parts, taking the real parts of the elements of the second row, the third row and the fourth row of the second column as the imaginary parts, inputting an improved cordic operation unit as an accompanying vector, taking a mode of the obtained original vector as the elements of the first row, taking the real parts of the obtained output accompanying vector as the real parts of the elements of the first row of the second column, and taking the imaginary parts of the obtained output accompanying vector as the real parts of the elements of the second row, the third row and the fourth row respectively.
Then, for the product obtained after the operation (1)Likewise, taking the element of the first row of the first column as a real part, taking the elements of the second row, the third row and the fourth row of the first column as imaginary parts, and inputting improved cordic as an original vector; the imaginary parts of the elements of the first row of the second column are taken as real parts, the imaginary parts of the elements of the second, third and fourth rows corresponding to the second column are taken as imaginary parts, the adjoint vectors are obtained through recombination, and the improved cordic operation unit is input; the real part of the output accompanying vector is used as the imaginary part of the element of the first row of the second column, and the obtained imaginary part of the output accompanying vector is used as the elements of the second row, the third row and the fourth row of the second column respectively Imaginary part of the element.
The above operations are actually, i.e. the vectors of the first and second rows of the first column, the first and third rows of the first column, the first and fourth rows of the first column are turned onto the real axis as real and imaginary parts, respectively, i.e. the first and second rows of the first column, the first and third rows of the first column, the first and fourth rows of the first column are Givens rotated, respectively, and can thus also be represented as a matrix:
(25)
wherein, the liquid crystal display device comprises a liquid crystal display device,,/>,/>is a transformation of the form:
(26)
in the method, in the process of the invention,is real and satisfy->Can be written as +.>,/>Wherein->The value is an angle that can turn the target vector to the real axis.
As forIn other words, it will->Turning to the real axis, there is +.>It satisfies the following conditions:
(27)/>
since Givens rotation operates on real numbers, the real and imaginary parts are processed separately in the above steps, and finally complex numbers are synthesized.
(4) For the one obtained after the operation of (1)The elements of the first row of the first column are taken as real parts, the elements of the second row, the third row and the fourth row of the first column are taken as imaginary parts, and the elements are input into an improved cordic operation unit to be taken as an original vector. The +.2 obtained after the operation of (2)>Taking the real part of each element in the first row as the real part of the input accompanying vector, taking the real parts of the corresponding elements in the second, third and fourth rows as the imaginary parts of the input accompanying vector respectively, then executing cordic rotation, and finally taking the real parts of the obtained output accompanying vectors as +. >The value of the real part of each element of the first row of the (b) outputs the imaginary part of the companion vector as the real part of the corresponding element of the second, third, and fourth rows.
Then (1) the reaction mixture is obtained after the operationTaking the elements of the first row of the first column as a real part, taking the elements of the second row, the third row and the fourth row of the first column as imaginary parts, and inputting the elements into an improved cordic operation unit as an original vector; the +.2 obtained after the operation of (2)>The imaginary part of each element of the first row of (a) is taken as the real part of the input accompanying vector, the imaginary parts of the corresponding elements of the second, third and fourth rows are taken as the imaginary parts of the input accompanying vector respectively, then the cordic rotation is carried out, and the real part of the final output accompanying vector is taken as +.>The imaginary part of each element of the first row of the (b) outputs the imaginary part of the companion vector as the imaginary part of the corresponding element of the second, third, and fourth rows. Combining the values of the real and imaginary parts of the rows obtained above, a new matrix is obtained which is still denoted +.>
Here, the operation of this step is similar to that in (3), and can be multiplied by the same matrix, and the formula is as follows:
(28)
(5) For the one obtained after the operation (3)The second column of (2) is operated similarly to (1) for +.>The second, third and fourth rows of the second column of the (c) are respectively input into the modified cordic operation unit as an original vector, the input accompanying vector can be any value, then the cordic rotation is carried out, and the modulus of the obtained original vector is respectively used as the values of the elements of the second, third and fourth rows.
The above operation is similar to step (1) and can be expressed as a left-hand multiplication of a matrix, as follows:
(29)
in the method, in the process of the invention,
(6) For the one obtained after the operation (3)A second column, respectively inputting the second, third and fourth lines of the second column into an improved cordic operation unit as an original vector, and obtaining +.>Each element of the second, third and fourth rows is taken as an input companion vector, then cordic rotation is performed, and the resulting output companion vector is taken as +.>The value of each element of the corresponding row of (a) is still recorded as +.>
This step is similar to the operation in (5) and can be performed onThe matrix is also multiplied by:
(30)
(7) For the one obtained after the operation (5)And (3) performing operation similar to the step (3), taking the elements of the second row of the second column as real parts, taking the elements of the third row and the fourth row of the second column as imaginary parts respectively, inputting the elements into a modified cordic operation unit as an original vector, enabling the accompanying vector to be any value, taking the modulus of the obtained original vector as the elements of the second row of the second column, and setting the elements of the third row and the fourth row of the second column as 0./>
Similar to step (3), the above operation may also be expressed as Givens rotation, which may be expressed as a left-hand matrix:
(31)
(8) For the one obtained after the operation (5) Taking the elements of the second row of the second column as the real part, taking the elements of the third row and the fourth row of the second column as the imaginary part, respectively, inputting the elements into an improved cordic operation unit as an original vector, and obtaining the +.>The real part of each element of the second row of the third and fourth rows is taken as the real part of the input accompanying vector, the real parts of the corresponding elements of the third and fourth rows are taken as the imaginary parts of the input accompanying vector, and then the cordic rotation is performed, and the real parts of the output accompanying vectors obtained finally are taken as +.>The value of the real part of each element of the second row of the (b) output the imaginary part of the companion vector as the real part of the corresponding element of the third, fourth row.
Then for the one obtained after the operation (5)Taking the elements of the second row of the second column as the real part, taking the elements of the third row and the fourth row of the second column as the imaginary part, respectively, inputting the elements into an improved cordic operation unit as an original vector, and obtaining the +.>The imaginary part of each element of the second row of the (a) is used as the real part of the input accompanying vector, the imaginary parts of the corresponding elements of the third row and the fourth row are used as the imaginary parts of the input accompanying vector respectively, then the cordic rotation is carried out, and the real part of the final output accompanying vector is used as +.>The value of the imaginary part of each element of the second row of (a) outputs the imaginary part of the companion vector The portion is the imaginary part of the corresponding element of the third, fourth row. The new matrix obtained by combining the values of the real and imaginary parts of the rows obtained above is still denoted->
The operation in the step (7) is similar to that in the step (7), and the Givens rotation is also adoptedThe left-hand matrix is formulated as:
(32)
here, the pair in the above operation (7)The result obtained after the operation is +.>And the following formula (33). The +.o obtained in the above operation (8)>Namely S102 is the orthogonal matrix obtained by final decomposition>Namely formula (32).
(33)
Further, in a possible implementation, when the complex channel matrixWhen the number of lines is 2, S105 may include the steps of:
step 51, for the matrixRespectively, the last element of the columnAs an original vector, other elements except the last element are taken as an accompanying vector, and input into the improved cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the value of the last element, and taking the output accompanying vector as the values of other elements except the last element respectively to obtain a matrix +.>
Step 52, matrixThe first element of each row except the last row is taken as an original vector, the second element is taken as an accompanying vector, and the modified cordic operation unit is input; determining the argument of the original vector output by the improved cordic operation unit as a compression angle; taking the modulus of the original vector output by the improved cordic operation unit as the value of the first element, and taking the output accompanying vector as the value of the second element to obtain a matrix +. >
Step 53, combining the matrixThe elements of the first row of the first column are taken as real parts, the elements of the other rows except the first row of the first column are taken as imaginary parts, and a plurality of original vectors are obtained through combination; taking the real part of the element of the first row of the second column as the real part, and taking the real parts of the elements of the other rows except the first row of the second column as the imaginary parts, and combining to obtain a plurality of adjoint vectors; the element of the imaginary part is at->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the element of the first row of the first column, taking 0 of the other elements of the first column, and taking the real part of the accompanying vector output by the improved cordic operation unit as the real part of the accompanying vectorThe real part and the imaginary part of the elements in the first row of the second column are respectively used as the real parts of the elements in the other rows of the second column; determining the argument of the original vector output by the improved cordic operation unit as a compression angle;
taking the imaginary parts of the elements of the first row of the second column as real parts and the imaginary parts of the elements of the other rows except the first row of the second column as imaginary parts, and combining to obtain a plurality of adjoint vectors; to the element of the imaginary partThe original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; the real part of the accompanying vector output by the improved cordic operation unit is used as the imaginary part of the element of the first row of the second column, the imaginary part is respectively used as the imaginary part of the element of each other row of the second column, and a matrix is obtained >
Step 54, for the matrixThe second column of the (a) combines and inputs the modified cordic operation unit by taking the elements of each row except the first row and the last row as original vectors and taking any value as accompanying vector; the modulo correspondence of the original vector output by the improved cordic operation unit is used as the value of the elements of each row except the first row and the last row to obtain a matrix +.>The method comprises the steps of carrying out a first treatment on the surface of the Determining the argument of the original vector output by the improved cordic operation unit as a compression angle;
step 55, for the matrixTaking the elements of the second row of the second column as a real part, taking the elements of the second column except the elements of the other rows of the first row and the second row as imaginary parts, and combining to obtain a plurality of original vectors; combining and inputting the improved cordic operation unit by taking any value as an accompanying vector; will be spentThe modulus of the original vector output by the improved cordic operation unit is taken as an element of a second row of a second column, elements of the second row except the elements of the first row and the other rows of the second row are taken as 0, and the argument of the obtained original vector is determined to be a compression angle.
Further, in a possible implementation, when the complex channel matrixWhen the number of lines is 1, S105 may include the steps of:
Step 61, for the matrixThe last element of the column is taken as an original vector, other elements except the last element are taken as accompanying vectors, and the modified cordic operation unit is input; taking the modulus of the original vector output by the improved cordic operation unit as the value of the last element, and taking the output accompanying vector as the values of other elements except the last element respectively to obtain a matrix +.>
Step 62, combining the matrixThe first element of each row except the last row is used as an original vector, an arbitrary value is used as an accompanying vector, and the modified cordic operation unit is input; determining the argument of the original vector output by the improved cordic operation unit as a compression angle; taking the modulus of the original vector output by the improved cordic operation unit as the value of the first element to obtain a matrix +.>
Step 63, combining the matrixThe elements of the first column and the first row are used as real parts, and the elements of other rows except the first row of the first column are respectively used as real partsThe elements are taken as imaginary parts, and the original vectors are obtained through combination; inputting the modified cordic operation unit by taking any value as an accompanying vector; taking the modulus of the original vector output by the improved cordic operation unit as the element of the first row of the first column, wherein the value of the element of the other rows of the first column is 0, and the argument is determined as a compression angle.
Corresponding to the above example, the following 4x2 orthogonal vector group is decomposed by SVDFor example, the implementation procedure of the angle compression in S105 will be described.
(1) For the followingThe last element is respectively input into an improved cordic operation unit as an original vector, elements except the last element are used as input accompanying vectors, cordic rotation is then carried out, the modulus of the finally obtained original vector is used as the value of the last element, the obtained output accompanying vector is used as the value of each other element, and a new matrix is obtained>Is a real number.
The last element of each column is changed into a real number, and the rest elements of each column rotate by the same angle as the last element, and can be written into a right-hand multiplication matrix form:
(34)
wherein, the liquid crystal display device comprises a liquid crystal display device,
to be newly obtainedStill recorded as +.>Then->The form of (2) is:
(35)
(2) For the one obtained after the operation of (1)The first element is input into an improved cordic operation unit as an original vector, the second element is input as an accompanying vector, then cordic rotation is carried out, the modulus of the obtained original vector is taken as the value of the first element, and the obtained argument is quantized into a compression angle +. >The obtained output companion vector is used as the value of the second element, and the new matrix is obtained>Is a real number.
The above operation changes the first column to a real number, which can be written in a form of a multiplication-by-left matrix:
(36)
wherein, the liquid crystal display device comprises a liquid crystal display device,in the formula->,/>,/>I.e. the compression angle.
(3) For the one obtained after the operation (2)Taking the elements of the first row of the first column as real parts, taking the elements of the second row, the third row and the fourth row as imaginary parts, respectively, inputting an improved cordic operation unit as an original vector, taking the real part of the first row of the second column as the real part, taking the real part of the second row, the corresponding second row, the third row and the fourth row as the imaginary parts, inputting an improved cordic operation unit as an input accompanying vector, taking the modulus of the obtained original vector as the elements of the first row of the first column, and respectively quantizing the amplitude angles of the obtained original vector into compression angles>The values of the other rows in the first column are set to 0, the real part of the obtained output accompanying vector is used as the real part of the elements in the first row in the second column, and the imaginary part of the obtained output accompanying vector is used as the real parts of the elements in the second, third and fourth rows in the second column respectively.
Then, for the product obtained after the operation (2)The method comprises the steps of taking elements of a first row of a first column as a real part, taking elements of a second row, a third row and a fourth row of the first column as imaginary parts, respectively, inputting an improved cordic operation unit as an original vector, taking the imaginary part of the first row of the second column as the real part, taking the imaginary part of the second row, the third row and the fourth row corresponding to the second column as the imaginary part, inputting the improved cordic operation unit as an input accompanying vector, taking the real part of the obtained output accompanying vector as the imaginary part of the elements of the first row of the second column, and taking the imaginary part of the obtained output accompanying vector as the imaginary parts of the elements of the second row, the third row and the fourth row of the second column. The real and imaginary parts obtained from the output syndrome vector above are made into the values of the second column.
The above operations are actually, i.e. the vectors of the first and second rows of the first column, the first and third rows of the first column, the first and fourth rows of the first column are turned onto the real axis as real and imaginary parts, respectively, i.e. the first and second rows of the first column, the first and third rows of the first column, the first and fourth rows of the first column are Givens rotated, respectively, and can thus also be represented as a matrix:
(37)
wherein the method comprises the steps of,/>,/>See formula (5) above for definitions of (1), givens matrix +.>,/>,/>The angles in (a) are compression angles +.>,/>,/>
(4) For the one obtained after the operation (3)The second column and the third column of the element are respectively input into an improved cordic operation unit as an original vector, an accompanying vector can be input into any value, then cordic rotation is carried out, the modulus of the obtained original vector is taken as the value of the second column and the third column of the element, and the obtained argument is quantized into a compression angle ++>
The above operation changes the second column to a real number, which can be written in a form of a multiplication-by-left matrix:
(38)
wherein, the liquid crystal display device comprises a liquid crystal display device,in the formula->,/>I.e. the compression angle.
(5) For the one obtained after the operation (4)Taking the elements of the second row of the second column as the real part, taking the elements of the third row and the fourth row of the second column as the imaginary part, respectively, inputting the elements into a modified cordic operation unit as the original vector, inputting the accompanying vector which can be any value, taking the modulus of the obtained original vector as the elements of the second row of the second column, and respectively quantizing the argument of the obtained original vector into- >The second column, third, and fourth row values are set to 0.
The above operation is substantially similar to step (3), i.e. the second row and the third row of the second column are given Givens rotations, respectively, and thus can also be represented by a matrix:
(39)
in the method, in the process of the application,,/>see formula (5) above for definitions of (1), givens matrix +.>,/>The angles in (a) are compression angles +.>,/>
Referring to fig. 4, fig. 4 is a schematic structural diagram of an SVD decomposition device for a channel matrix according to an embodiment of the present application. As shown in fig. 4, the apparatus 400 includes:
a transpose module 410 for transpose complex channel matrixTaking conjugate transpose to obtain transpose channel matrix +.>
A decomposition module 420 for multiplexing the transposed channel matrix with the modified cordic operation unitPerforming decomposition to obtain upper triangular matrix ++>And orthogonal matrix->The method comprises the steps of carrying out a first treatment on the surface of the Wherein the input of the improved cordic operation unit is a primary vector and at least one accompanying vector; the output of the improved cordic operation unit is the modulus and the argument of the original vector and each accompanying vector obtained after each cordic rotation following the original vector is finished;
extraction module 430 for dividing the upper triangular matrix by the number of rows of the complex channel matrix Square arrays with equal number of rows and columns are taken out>And from the orthogonal matrix +.>Conjugate transpose matrix of->Matrix of equal columns is taken out->
A transformation module 440 for obtaining a diagonal matrix using complex Jacobi transformationFor the matrix->Transforming to obtain matrix->The diagonal matrix ∈>And the matrix->As a result of SVD decomposition of the complex channel matrix.
Further, the apparatus 400 further comprises a compression module; the compression module is used for:
multiplexing the modified cordic operation unit to the matrix multiple timesAnd performing angle compression to obtain a compression angle.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the application. As shown in fig. 5, the electronic device 500 includes a processor 510, a memory 520, and a bus 530.
The memory 520 stores machine-readable instructions executable by the processor 510, and when the electronic device 500 is running, the processor 510 communicates with the memory 520 through the bus 530, and when the machine-readable instructions are executed by the processor 510, the steps of an SVD decomposition method of a channel matrix in the method embodiment shown in fig. 1 can be executed, and a specific implementation manner may refer to the method embodiment and will not be described herein.
The embodiment of the present application further provides a computer readable storage medium, where a computer program is stored, where the computer program when executed by a processor may perform the steps of an SVD decomposition method of a channel matrix in the method embodiment of fig. 1, and a specific implementation manner may refer to a method embodiment and will not be described herein.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. The above-described apparatus embodiments are merely illustrative, for example, the division of the units is merely a logical function division, and there may be other manners of division in actual implementation, and for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some communication interface, device or unit indirect coupling or communication connection, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of 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.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a non-volatile computer readable storage medium executable by a processor. Based on this understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Finally, it should be noted that: the above examples are only specific embodiments of the present application, and are not intended to limit the scope of the present application, but it should be understood by those skilled in the art that the present application is not limited thereto, and that the present application is described in detail with reference to the foregoing examples: any person skilled in the art may modify or easily conceive of the technical solution described in the foregoing embodiments, or perform equivalent substitution of some of the technical features, while remaining within the technical scope of the present disclosure; such modifications, changes or substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application, and are intended to be included in the scope of the present application. Therefore, the protection scope of the application is subject to the protection scope of the claims.

Claims (10)

1. A method for SVD decomposition of a channel matrix, the method comprising:
paired channel matrixTaking conjugate transpose to obtain transpose channel matrix +.>
Multiple multiplexing improved cordic operation unit for transposed channel matrixPerforming decomposition to obtain upper triangular matrix ++ >And orthogonal matrix->The method comprises the steps of carrying out a first treatment on the surface of the Wherein the input of the improved cordic operation unit is a primary vector and at least one accompanying vector; the output of the improved cordic operation unit is the modulus and the argument of the original vector and each cordic rotation following the original vector, and each accompanying vector is obtained after all cordic rotations are finished;
according to the complex channel matrixFrom the upper triangular matrix +.>Square arrays with equal number of rows and columns are taken out>And from the orthogonal matrix +.>Conjugate transpose matrix of->Matrix of equal columns is taken out->
For the square matrixObtaining a diagonal matrix using a complex Jacobi transform>For the matrix->Transforming to obtain matrixThe diagonal matrix ∈>And the matrix->As matrix for the complex channel>SVD decomposition results of (2).
2. The method according to claim 1, wherein the method further comprises:
multiplexing the modified cordic operation unit to the matrix multiple timesAnd performing angle compression to obtain a compression angle.
3. The method of claim 1, wherein when the complex channel matrixWhen the number of lines is 2, the multiplexing modified cordic operation unit is +_for the transposed channel matrix >Performing decomposition to obtain upper triangular matrix ++>And orthogonal matrix->Comprises the steps of:
step 31, aiming at the transposed channel matrixTaking the first element of the row as an original vector, taking the second element of the row as an accompanying vector, and inputting the modified cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the first element of the same line number, and taking the output accompanying vector as the second element of the same line number to obtain a matrix +.>
Step 32, setting the transposed channel matrixIdentity matrix with the same number of rows; for the transposed channel matrixThe first element of each row is respectively taken as an original vector, and each element of the same row in the identity matrix is respectively taken asInputting the modified cordic operation unit as an accompanying vector; each accompanying vector output by the improved cordic operation unit is respectively used as an element of a corresponding position in the identity matrix to obtain a matrix +.>
Step 33, for the matrixTaking the elements of the first row of the first column as a real part, taking the elements of each row of the rest of the first column as imaginary parts, and combining to obtain a plurality of original vectors; taking the real parts of the elements of the first row of the second column as real parts, and taking the real parts of the elements of each row of the rest of the second column as imaginary parts respectively, and combining to obtain a plurality of adjoint vectors; the element of the imaginary part is at- >The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the element of the first row and the real part of the accompanying vector output by the improved cordic operation unit as the real part of the element of the first row of the second row, and taking the imaginary part of the accompanying vector as the real part of the elements of each other row of the second row respectively;
taking the imaginary parts of the elements of the first row of the second column as real parts, taking the imaginary parts of the elements of each row of the rest of the second column as imaginary parts respectively, and recombining to obtain a plurality of adjoint vectors; to the element of the imaginary partThe original vectors with the same corresponding line numbers and the recombined companion vectors are taken as a group, and are input into the improved cordic operation unit; the real part of the accompanying vector output by the improved cordic operation unit is used as the imaginary part of the element of the first row of the second column, the imaginary part is respectively used as the imaginary part of the element of each other row of the second column, and a matrix is obtained>
Step 34, for the matrixTaking the elements of the first row of the first column as a real part, taking the elements of each row of the rest of the first column as imaginary parts, and combining to obtain a plurality of original vectors; the matrix- >The real part of each element in the first row is taken as a real part, the real parts of the corresponding elements in the rest rows are taken as imaginary parts, and a plurality of adjoint vectors are obtained through combination; to the element of the imaginary partThe corresponding number of lines and the element of the imaginary part are in->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the real part of each accompanying vector output by the modified cordic operation unit as the real part of each element in the first row, and taking the imaginary part as the real part of each corresponding element of the other rows except the first row;
the matrix is processedThe imaginary part of each element in the first row is taken as a real part, the imaginary parts of the corresponding elements in the rest rows are taken as imaginary parts, and a plurality of adjoint vectors are obtained through recombination; the element of the imaginary part is at->Corresponding number of lines and imaginary part of elements inThe original vector and the recombined accompanying vector with the same corresponding line number are taken as a group, and the improvement is inputA cordic operation unit; the real part of the accompanying vector output by the improved cordic operation unit is taken as the imaginary part of each element of the first row, the imaginary parts are respectively taken as the imaginary parts of the corresponding elements of the other rows, and a matrix is obtained>
Step 35, for the matrix Will->The elements of the second column of each row except the first row are respectively used as original vectors, and any value is used as an accompanying vector to be input into the improved cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the elements of each row except the first row to obtain a matrix +.>
Step 36, for matrixWill->The elements of each row except the first row are used as original vectors to form a matrix +.>Each element of each row except the first row is respectively used as a companion vector; will be at->The number of lines and/or>The same number of rows of the original vector and the companion vector are taken as a group and inputAn improved cordic operation unit; taking the accompanying vector output by the improved cordic operation unit as a matrix +.>The value of each element of the corresponding row, resulting in a matrix +.>
Step 37, for matrixTaking elements of a second row of a second column as a real part, taking elements of other rows except the first row and the second row of the second column as imaginary parts, combining to obtain a plurality of original vectors, taking any value as an accompanying vector, and inputting the modified cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the elements of the second row of the second column, and taking 0 by the elements of the other rows except the first row and the second row to obtain the matrix- >
Step 38, for matrixTaking elements of a second row of a second column as a real part, taking elements of other rows except the first row and the second row of the second column as imaginary parts, and combining to obtain a plurality of original vectors; in matrix->The real part of each element of the second row is taken as a real part, the real parts of the corresponding elements of the other rows except the first row and the second row are taken as imaginary parts, and a plurality of adjoint vectors are obtained through combination; the element of the imaginary part is at->The corresponding number of lines and the element of the imaginary part are in->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the real part of the accompanying vector output by the modified cordic operation unit as the real part of each element of the second row and the imaginary part as the real parts of the corresponding elements of other rows except the first row and the second row;
in a matrix formThe imaginary part of each element of the second row is taken as a real part, the imaginary parts of the elements of the other rows except the first row and the second row are taken as imaginary parts, and a plurality of adjoint vectors are obtained through recombination; the element of the imaginary part is at->The corresponding number of lines and the element of the imaginary part are in->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; the real part of the accompanying vector output by the improved cordic operation unit is taken as the imaginary part of each element of the second row, the imaginary part is taken as the imaginary parts of the corresponding elements of other rows except the first row and the second row, and the matrix- >
4. The method of claim 1, wherein when the complex channel matrixWhen the number of lines of the (1) is 1, the multiplexing-modified cordic operation unit is added to the transpose channel matrix>Performing decomposition to obtain upper triangular matrix ++>And orthogonal matrix->Comprises the steps of:
step 41, aiming at the transposed channel matrixTaking the first element of the row as an original vector, taking an arbitrary value as an accompanying vector, and inputting the arbitrary value into the modified cordic operation unit; taking the module of the original vector output by the improved cordic operation unit as the first element of the same line number to obtain a matrix +.>
Step 42, setting the transposed channel matrixIdentity matrix with the same number of rows; for the transposed channel matrixRespectively taking the first element of each row as an original vector, respectively taking each element of the same row number in the identity matrix as an accompanying vector, and inputting the element into the improved cordic operation unit; each accompanying vector output by the improved cordic operation unit is respectively used as an element of a corresponding position in the identity matrix to obtain a matrix +.>
Step 43, for the matrixTaking the elements of the first row of the first column as a real part, taking the elements of each row of the rest of the first column as imaginary parts, and combining to obtain a plurality of original vectors; at an arbitrary value Inputting the modified cordic operation unit as a companion vector; taking the modulus of the original vector output by the improved cordic operation unit as the element of the first row and the first column, taking 0 of the elements of other rows of the first column to obtain the matrix->
Step 44, for the matrixTaking the elements of the first row of the first column as a real part, taking the elements of each row of the rest of the first column as imaginary parts, and combining to obtain a plurality of original vectors; the matrix->The real part of each element in the first row is taken as a real part, the real parts of the corresponding elements in the rest rows are taken as imaginary parts, and a plurality of adjoint vectors are obtained through combination; to the element of the imaginary partThe corresponding number of lines and the element of the imaginary part are in->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the real part of each accompanying vector output by the modified cordic operation unit as the real part of each element in the first row, and taking the imaginary part as the real part of each corresponding element of the other rows except the first row;
the matrix is processedThe imaginary part of each element in the first row is taken as a real part, the imaginary parts of the corresponding elements in the rest rows are taken as imaginary parts, and a plurality of adjoint vectors are obtained through recombination; the element of the imaginary part is at- >Corresponding number of lines and imaginary part of elements inThe original vector with the same corresponding line number and the recombined accompanying vector are taken as a group, and the modified cordic operation unit is input; the real part of the accompanying vector output by the improved cordic operation unit is used as the imaginary part of each element of the first row, the imaginary part is respectively used as the imaginary parts of the corresponding elements of the other rows, and the matrix is obtained>
5. The method of claim 2, wherein when the complex channel matrixWhen the number of rows of (2), said multiplexing said modified cordic operation unit to said matrix +.>Executing angle compression to obtain a compression angle, including:
step 51, for the matrixThe last element of the column is taken as an original vector, other elements except the last element are taken as accompanying vectors, and the modified cordic operation unit is input; taking the modulus of the original vector output by the improved cordic operation unit as the value of the last element, and taking the output accompanying vector as the values of other elements except the last element respectively to obtain a matrix +.>
Step 52, matrixThe first element of each row except the last row is taken as an original vector, the second element is taken as an accompanying vector, and the modified cordic operation unit is input; determining the argument of the original vector output by the improved cordic operation unit as a compression angle; taking the modulus of the original vector output by the improved cordic operation unit as the value of the first element, and taking the output accompanying vector as the value of the second element to obtain a matrix +. >
Step 53, combining the matrixThe elements of the first row of the first column are taken as real parts, the elements of the other rows except the first row of the first column are taken as imaginary parts, and a plurality of original vectors are obtained through combination; taking the real part of the element of the first row of the second column as the real part, and taking the real parts of the elements of the other rows except the first row of the second column as the imaginary parts, and combining to obtain a plurality of adjoint vectors; the element of the imaginary part is at->The original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the element of the first row of the first column, taking 0 for other elements of the first column, taking the real part of the accompanying vector output by the improved cordic operation unit as the real part of the element of the first row of the second column, and taking the imaginary part as the real part of the element of each of the other rows of the second column respectively; determining the argument of the original vector output by the improved cordic operation unit as a compression angle;
taking the imaginary parts of the elements of the first row of the second column as real parts and the imaginary parts of the elements of the other rows except the first row of the second column as imaginary parts, and combining to obtain a plurality of adjoint vectors; to the element of the imaginary partThe original vector and the accompanying vector with the same corresponding line number are taken as a group, and are input into the improved cordic operation unit; the real part of the accompanying vector output by the improved cordic operation unit is used as the imaginary part of the element of the first row of the second column, the imaginary part is respectively used as the imaginary part of the element of each other row of the second column, and a matrix is obtained >
Step 54, for the matrixThe second column of the (a) combines and inputs the modified cordic operation unit by taking the elements of each row except the first row and the last row as original vectors and taking any value as accompanying vector; the modulo correspondence of the original vector output by the improved cordic operation unit is used as the value of the elements of each row except the first row and the last row to obtain a matrix +.>The method comprises the steps of carrying out a first treatment on the surface of the Determining the argument of the original vector output by the improved cordic operation unit as a compression angle;
step 55, for the matrixTaking the elements of the second row of the second column as a real part, taking the elements of the second column except the elements of the other rows of the first row and the second row as imaginary parts, and combining to obtain a plurality of original vectors; combining and inputting the improved cordic operation unit by taking any value as an accompanying vector; taking the modulus of the original vector output by the improved cordic operation unit as the element of the second row of the second column, taking 0 by dividing the elements of the other rows of the first row and the second row, and determining the argument of the obtained original vector as a compression angle.
6. The method of claim 2, wherein when the complex channel matrixWhen the number of rows of (1), said multiplexing said modified cordic operation unit to said matrix +. >Executing angle compression to obtain a compression angle, including:
step 61, for the matrixThe last element of the column is taken as an original vector, other elements except the last element are taken as accompanying vectors, and the modified cordic operation unit is input; taking the modulus of the original vector output by the improved cordic operation unit as the value of the last element, and taking the output accompanying vector as the values of other elements except the last element respectively to obtain a matrix +.>
Step 62, combining the matrixThe first element of each row except the last row is used as an original vector, an arbitrary value is used as an accompanying vector, and the modified cordic operation unit is input; determining the argument of the original vector output by the improved cordic operation unit as a compression angle; taking the modulus of the original vector output by the improved cordic operation unit as the value of the first element to obtain a matrix +.>
Step 63, combining the matrixThe elements of the first row of the first column are taken as real parts, the elements of the other rows except the first row of the first column are taken as imaginary parts, and the original vectors are obtained through combination; with arbitrary values as the direction of accompanimentA quantity input to the modified cordic operation unit; taking the modulus of the original vector output by the improved cordic operation unit as the element of the first row of the first column, wherein the value of the element of the other rows of the first column is 0, and the argument is determined as a compression angle.
7. The method of claim 1, wherein for the square matrixObtaining a diagonal matrix using a complex Jacobi transform>For the matrix->Transforming to obtain matrix->Comprising:
for the square matrixObtaining a diagonal matrix using a complex Jacobi transform>The transformation formula of (2) is expressed as:
for the matrixTransforming to obtain matrix->The transformation formula of (2) is expressed as:
in the method, in the process of the invention,=/>;/>;/>
setting the square matrixThen->;/>And->The method meets the following conditions:
8. an SVD decomposition apparatus for a channel matrix, said apparatus comprising:
transpose module for complex channel matrixTaking conjugate transpose to obtain transpose channel matrix +.>
A decomposition module for multiplexing the transposed channel matrix with the improved cordic operation unitPerforming decomposition to obtain upper triangular matrix ++>And orthogonal matrix->The method comprises the steps of carrying out a first treatment on the surface of the Wherein the input of the improved cordic operation unit is a primary vector and at least one accompanying vector; the output of the improved cordic operation unit is the modulus and the argument of the original vector and each accompanying vector obtained after each cordic rotation following the original vector is finished;
an extraction module for extracting the complex channel matrixFrom the upper triangular matrix +. >Square arrays with equal number of rows and columns are taken out>And from the orthogonal matrix +.>Conjugate transpose matrix of->Matrix of equal columns is taken out->
A transformation module for transforming the square matrixObtaining a diagonal matrix using a complex Jacobi transform>For the matrix->Transforming to obtain matrix->The diagonal matrix ∈>And the matrix->As matrix for the complex channel>SVD decomposition results of (2).
9. An electronic device, comprising: a processor, a memory and a bus, said memory storing machine readable instructions executable by said processor, said processor and said memory communicating via said bus when said electronic device is running, said machine readable instructions when executed by said processor performing the steps of a SVD decomposition method of a channel matrix according to any of claims 1 to 7.
10. A computer readable storage medium, characterized in that the computer readable storage medium has stored thereon a computer program which, when executed by a processor, performs the steps of a SVD decomposition method of a channel matrix according to any of claims 1 to 7.
CN202310921688.6A 2023-07-26 2023-07-26 SVD (singular value decomposition) method and device of channel matrix, electronic equipment and medium Active CN116647428B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310921688.6A CN116647428B (en) 2023-07-26 2023-07-26 SVD (singular value decomposition) method and device of channel matrix, electronic equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310921688.6A CN116647428B (en) 2023-07-26 2023-07-26 SVD (singular value decomposition) method and device of channel matrix, electronic equipment and medium

Publications (2)

Publication Number Publication Date
CN116647428A true CN116647428A (en) 2023-08-25
CN116647428B CN116647428B (en) 2023-10-10

Family

ID=87643784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310921688.6A Active CN116647428B (en) 2023-07-26 2023-07-26 SVD (singular value decomposition) method and device of channel matrix, electronic equipment and medium

Country Status (1)

Country Link
CN (1) CN116647428B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169396A1 (en) * 2004-11-15 2010-07-01 Qualcomm Incorporated Efficient computation for eigenvalue decomposition and singular value decomposition of matrices
CN103532890A (en) * 2013-10-29 2014-01-22 东南大学 SVD method for complex channel matrix
CN105323037A (en) * 2014-08-01 2016-02-10 中国移动通信集团公司 Pre-coding method and device according to complex matrix
CN106919537A (en) * 2017-03-07 2017-07-04 电子科技大学 A kind of efficient implementation method of the Jacobi conversion based on FPGA

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169396A1 (en) * 2004-11-15 2010-07-01 Qualcomm Incorporated Efficient computation for eigenvalue decomposition and singular value decomposition of matrices
CN103532890A (en) * 2013-10-29 2014-01-22 东南大学 SVD method for complex channel matrix
CN105323037A (en) * 2014-08-01 2016-02-10 中国移动通信集团公司 Pre-coding method and device according to complex matrix
CN106919537A (en) * 2017-03-07 2017-07-04 电子科技大学 A kind of efficient implementation method of the Jacobi conversion based on FPGA

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AIDIN SHIRI等: "An FPGA Implementation of Singular Value Decomposition", ICEE2019 *
JOSEPH R. CAVALLARO等: "CORDIC Arithmetic for an SVD Processor", IEEE *
张晓帆等: "基于低硬件复杂度、高速CORDIC 的SVD模块设计与实现", 电子学报 *
施维等: "一种特征值分解的VLSI实现方法", 微电子学与计算机 *

Also Published As

Publication number Publication date
CN116647428B (en) 2023-10-10

Similar Documents

Publication Publication Date Title
Man et al. Double image encryption algorithm based on neural network and chaos
CN110519058B (en) Acceleration method for lattice-based public key encryption algorithm
Zhang et al. GALA: Greedy computation for linear algebra in privacy-preserved neural networks
US7856465B2 (en) Combined fast fourier transforms and matrix operations
EP3096488B1 (en) Hypersphere-based multivariable public key encryption/decryption system and method
US10372886B2 (en) Protecting the input/output of modular encoded white-box RSA/ECC
Wang et al. Joint encryption and compression of 3D images based on tensor compressive sensing with non-autonomous 3D chaotic system
US7995764B2 (en) Sharing a secret using hyperplanes over GF(2m)
CN107742082B (en) Optical image encryption algorithm
CN115622685B (en) Method, device and system for homomorphic encryption of private data
CN108566237B (en) Low-complexity geometric mean decomposition precoding implementation method based on double diagonalization
US10140437B2 (en) Array indexing with modular encoded values
US10235506B2 (en) White-box modular exponentiation
CN110232284B (en) Image encryption method and device
Li et al. A gradient-based approach to optimization of compressed sensing systems
CN116647428B (en) SVD (singular value decomposition) method and device of channel matrix, electronic equipment and medium
CN111064558A (en) Homomorphic encryption matrix continuous multiplication secure outsourcing method based on cloud computing
CN109936437B (en) power consumption attack resisting method based on d +1 order mask
CN111246462A (en) Method, system and equipment for safely transmitting data between terminal and electric energy meter
CN112995189B (en) Method for publicly verifying matrix multiplication correctness based on privacy protection
CN111460488B (en) Multi-image rapid encryption method based on pre-storage and n-dimensional Arnold transformation
Liu et al. Accelerated augmented Lagrangian method for total variation minimization
CN110505226B (en) Transmission information encryption method and device based on Galois ring upper form matrix
Yuan et al. Portable Implementation of Postquantum Encryption Schemes and Key Exchange Protocols on JavaScript-Enabled Platforms
CN113626841A (en) Selection problem processing method based on multi-party security calculation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant