The present invention relates to the communications field, and in particular, to a signal reconstruction method and apparatus.
A conventional signal processing process may include four parts, namely, sampling, compression, storage/transmission, and decompression. In the sampling process, data collection is first performed for an original signal according to the Nyquist sampling theorem, and then the collected data is compressed. In the compression process, the collected data is transformed first, and then a few coefficients with large absolute values are compressed and encoded, and other coefficients equal or close to zero are discarded. In the compression process, a majority of data obtained through the sampling is discarded.
In recent years, a new signal collection technology has been put forward, that is, a compressed sensing technology. The compressed sensing technology takes advantage of a feature that an original signal s is sparse. That is to say, the original signal has only K_sparse non-zero items with unknown positions after experiencing orthogonal transformation. The amount of data measured by using the compressed sensing technology is much smaller than the amount of data required in conventional sampling.
In the process of implementing compressed sensing, a measured value (non-adaptive linear projection) of the original signal s is obtained first, where the measured value is represented by equation (1.1):
y=Φs (1.1)
In the above equation, y is the measured value, Φ is a measurement matrix, and s is the original signal. The original signal s is represented as a column vector with N items, and has a sparse expression. That is to say, Ψs=x obtained after orthogonal transformation Ψ has only K_sparse (K_sparse<<N) non-zero items with unknown positions. The measured value y is a column vector with M items (M<<N & M>2K_sparse), and the measurement matrix Φ has M rows and N columns.
After the measured value y of the original signal is obtained and then stored/transmitted, signal reconstruction may be performed. In the prior art, a signal reconstruction method is: first, under a constraint condition y=Tx, X is found; and then according to equation s=ΨHx, s is calculated, where a matrix T=ΦΨH is called a sensing matrix, Φ is a measurement matrix, and Ψ is the orthogonal transformation. The sensing matrix T is also called a dictionary, and each column in the dictionary is also referred to as an atom.
The signal can be reconstructed by using an orthogonal matching pursuit method, which is implemented through the following steps.
Step 1: First, initialize variables for iteration, which is detailed as follows.
Step 1.1: Set an initial value {tilde over (y)} of a residual error to make {tilde over (y)}=y.
Step 1.2: Set an initial value of a base matrix B to be an empty matrix: B0=. The base matrix B selects column K that best matches a received signal y from a dictionary T to build a sparse approximation of y, and an index of a column already selected by the base matrix B is denoted as a column vector τ, and its initial value τ0 is an empty vector.
Step 1.3: Before the kth iteration in an iteration process starts, denote a column that is not selected into the base matrix B in a sensing matrix as TN+1−k=−(k−1), where
−(k−1)=N−k+1, TN+1−k=
−(k−1) has N+1−k columns, and an initial value is TN=T.
An initial value of an estimated value of sparse expression x is set to {circumflex over (x)}=0N, where 0N represents a zero column vector with N items, that is, a column vector with each item being zero.
The modulus of each column in the sensing matrix T is denoted as a column vector −(0)=[∥t(1)∥2 ∥t(2)∥2 . . . ∥t(N)∥2]T, where t(i) (i=1, 2, . . . , N) represents the ith column of T, ∥t(i)∥2 represents the modulus of a vector t(i), and [•]T represents transposition of the vector or a matrix [•].
A column vector −(0)=πN=[1 2 . . . N]T records sequence numbers of atoms that are not selected into the base matrix B.
Step 2: The initial value of k is 1. Then the following iteration starts.
Step 2.1: Calculate, by using formula (1.2), a correlation between the kth residual error and each column in the sensing matrix from which k−1 columns are deleted:
−(k−1)=−(k−1){tilde over (y)} (1.2)
In the above formula, (k−1)=N−k+1,
−(k−1) represents a matrix with M rows and
−(k−1) columns, and when k=1, the residual error {tilde over (y)}=y, that is, the residual error {tilde over (y)} is equal to a measured value vector; and when k=1,
−(k−1)=
−(0)=TN=T, that is,
−(k−1) is the sensing matrix T; and
−(k−1) is a column vector with
−(k−1) items, and its ith item represents the value of correlation between the ith column of
−(k−1) and the residual error {tilde over (y)}. It should be noted that,
−(k−1) includes
−(k−1) columns, which are
−(k−1) columns to be selected in the sensing matrix T, that is,
−(k−1) atoms to be selected in the sensing matrix T; and
−(k−1) is obtained by deleting k−1 columns from the sensing matrix T, where the k−1 columns have been selected and placed into the base matrix.
Step 2.2: Determine, by using formula (1.3), a sequence number of a column with the maximum correlation value:
In the above formula, qi represents the ith item of −(k−1), δi represents the ith item of
−(k−1),
−(k−1) is a modulus of each column of
−(k−1), and |•| represents the absolute value of a scalar .
Step 2.3: Update the column −(k−1) to be selected by the selected base matrix B and the sensing matrix.
A kth column is added to the base matrix B to make Bk=[Bk−1 t(ρ−(k−1). Correspondingly, the ρkth column, t(ρ
−(k−1) to obtain
−(k) for subsequent iteration. The initial value Bk−1=Bl−1=B0 of the base matrix B is an empty matrix.
Step 2.4: According to τk−1, obtain an index τk of each column of the base matrix Bk; and according to an index −(k−1) of each column of
−(k−1) and the modulus
−(k−1) of each column, obtain an index
−(k) of each column of
−(k) and the modulus
−(k) of each column.
τk=[τk−1T πρ−(k−1); the ρkth item, πρ
−(k−1) to obtain
−(k) it for subsequent iteration; and the ρkth item is deleted from
−(k−1) to obtain
−(k) for subsequent iteration.
Step 2.5: Update a weight coefficient of each column selected in the base matrix B and a corresponding residual error.
First, a column vector zk composed of the weight coefficients of the columns selected in the base matrix B is calculated by using formula (1.4):
z
k(BkHBk)−1BkHy (1.4)
In the above formula, (•)−1 represents an inverse matrix of the matrix (•). Then, the residual error {tilde over (y)} is obtained by using formula (1.5):
{tilde over (y)}=y−B
k
z
k (1.5)
If k<K (generally, K is smaller than or equal to K_sparse), the value of k increases by 1, and the process goes back to step 1.
Step 3: Recover the signal.
The initial value of the estimated value of sparse expression x is {circumflex over (x)}=0N. In {circumflex over (x)}, let the ρkth item be {circumflex over (x)}τ
As can be seen from the above, when determining each column of the base matrix, it is necessary to determine the correlation between −(k−1) and each column of the residual error by using formula
−(k−1)=
−(k−1){tilde over (y)}.
−(k−1) is a vector with
−(k−1) rows and N columns, where the value of N is very large; therefore, the complexity of calculating
−(k−1){tilde over (y)} is extremely high.
Therefore, an appropriate method is desired to ensure proper recovery of a signal and reduce the amount of calculation for reconstructing the signal.
Embodiments of the present invention provide a signal reconstruction method to ensure proper recovery of a signal and reduce the amount of calculation for reconstructing the signal.
In a first aspect, a signal reconstruction method is provided, including determining a correlation between a first residual error and multiple columns in a sensing matrix according to a measured value of an original signal and the sensing matrix, and determining a first array most correlative to the measured value of the original signal in the sensing matrix according to the correlation between the first residual error and the multiple columns in the sensing matrix; determining a correlation between a kth residual error and the multiple columns in the sensing matrix according to a correlation between a (k−1)th residual error and the multiple columns in the sensing matrix, and determining a kth array most correlative to the measured value of the original signal in the sensing matrix according to the correlation between the kth residual error and the multiple columns in the sensing matrix, where 2≦k≦K; and recovering the original signal after determining a Kth array most correlative to the measured value of the original signal in the sensing matrix.
With reference to the first aspect, in a first possible implementation manner of the first aspect, the determining a correlation between a kth residual error and the multiple columns in the sensing matrix according to a correlation between a (k−1)th residual error and the multiple columns in the sensing matrix includes: from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtracting a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, where the (k−1)th base difference is a vector or a vector set, and the (k−1)th difference coefficient is a scalar or a scalar set or a set of vectors composed of multiple scalars.
With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, before the from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtracting a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, the determining a correlation between a kth residual error and the multiple columns in the sensing matrix further includes: if k=2, determining a first base difference; if k=3, determining the (k−1)th base difference according to a first base difference; or if k≧4, determining the (k−1)th base difference according to first to (k−2)th base differences.
With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, the determining a first base difference includes determining the first base difference
With reference to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, before the from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtracting a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, the determining a correlation between a kth residual error and the multiple columns in the sensing matrix further includes determining the kth difference coefficient ak by using formula ak=λkqρ
With reference to the third or fourth possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, the method further includes determining F1 by using formula F1=[λ1]; and if 2≦k≦K, determining Fk by using formula
where uk−1=−λkFk−1ũk−1; and the recovering the original signal of the received signal after determining a Kth array of the base matrix includes recovering the signal according to the FK.
With reference to the fifth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, the recovering the signal according to the FK includes determining a weight coefficient column vector zK by using formula zK=FKaK; determining x according to the weight coefficient column vector to make {circumflex over (x)}τ
With reference to the second possible implementation manner of the first aspect, in a seventh possible implementation manner of the first aspect, the determining a first base difference includes determining a first column and a second column of
2=[λ1θ(ρ
2k−2
=[
2k−4λ2k−3{tilde over (t)}k(f2k−3,2k−2{tilde over (t)}k−1+λ2k−2×flipud({tilde over (t)}*k−1))],
λ1=√{square root over (1/θρ
With reference to the seventh possible implementation manner of the first aspect, in an eighth possible implementation manner of the first aspect, before the from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtracting a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, the determining a correlation between a kth residual error and the multiple columns in the sensing matrix further includes determining a first row and a second row of A2 as a first difference coefficient; and determining a (2k−3)th row and a (2k−2)th row of A2k−2 as the (k−1)th difference coefficient, where
With reference to the seventh or eighth possible implementation manner of the first aspect, in a ninth possible implementation manner of the first aspect, the method further includes determining F2 by using formula
and if 2≦k≦K, determining F2k by using formula:
where reorder(w2k−2) refers to exchanging positions of a (2i−1)th item and a 2ith item of a vector w2k−2, and then calculating a conjugate of each item of the vector, where i=1, 2, . . . , k−1, and w2k−2=F2k−2ũ′2k−2; and the recovering the original signal of the received signal after determining a Kth column of the base matrix includes recovering the signal according to the F2 K.
In a second aspect, a signal reconstruction apparatus is provided, including a first determining unit configured to determine a correlation between a first residual error and multiple columns in a sensing matrix according to a measured value of an original signal and the sensing matrix, and determine a first array most correlative to the measured value of the original signal in the sensing matrix according to the correlation between the first residual error and the multiple columns in the sensing matrix; a second determining unit configured to determine a correlation between a kth residual error and the multiple columns in the sensing matrix according to a correlation between a (k−1)th residual error and the multiple columns in the sensing matrix, and determine a kth array most correlative to the measured value of the original signal in the sensing matrix according to the correlation between the kth residual error and the multiple columns in the sensing matrix, where 2≦k≦K; and a recovering unit configured to recover the original signal after the second determining unit determines a Kth array most correlative to the measured value of the original signal in the sensing matrix.
With reference to the second aspect, in a first possible implementation manner of the second aspect, the second determining unit is configured to, from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtract a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, where the (k−1)th base difference is a vector or a vector set, and the (k−1)th difference coefficient is a scalar or a scalar set or a set of vectors composed of multiple scalars.
With reference to the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the second determining unit is further configured to: if k=2, determine a first base difference; if k=3, determine the (k−1)th base difference according to a first base difference; or if k≧4, determine the (k−1)th base difference according to first to (k−2)th base differences.
With reference to the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the second determining unit is configured to determine the first base difference
With reference to the third possible implementation manner of the second aspect, in a fourth possible implementation manner of the second aspect, the second determining unit is further configured to determine the kth difference coefficient ak by using formula ak=λkqρ
With reference to the third or fourth possible implementation manner of the second aspect, in a fifth possible implementation manner of the second aspect, the method further includes a third determining unit configured to determine F1 by using formula F1=[λ1], and if 2≦k≦K, determine Fk by using formula
where uk−1=−λkFk−1ũk−1; and the recovering unit is configured to recover the signal according to the FK.
With reference to the fifth possible implementation manner of the second aspect, in a sixth possible implementation manner of the second aspect, the recovering unit is configured to determine a weight coefficient column vector zK by using formula zK=FKaK; determine x according to the weight coefficient column vector to make {circumflex over (x)}τ
With reference to the second possible implementation manner of the second aspect, in a seventh possible implementation manner of the second aspect, the second determining unit is configured to determine a first column and a second column of
2=[λ1θ(ρ
2k−2
=[
2k−4λ2k−3{tilde over (t)}k(f2k−3,2k−2{tilde over (t)}k−1+λ2k−2×flipud({tilde over (t)}*k−1))],
λ1√{square root over (1/θρ
With reference to the seventh possible implementation manner of the second aspect, in an eighth possible implementation manner of the second aspect, the second determining unit is further configured to determine a first row and a second row of A2 as a first difference coefficient; and determine a (2k−3)th row and a (2k−2)th row of A2k−2 as the (k−1)th difference coefficient, where:
With reference to the seventh or eighth possible implementation manner of the second aspect, in a ninth possible implementation manner of the second aspect, the apparatus further includes a fourth unit configured to determine F2k by using formula
and if 2≦k≦K, determine F2k by using formula
where reorder(w2k−2) refers to exchanging positions of a (2i−1)th item and a 2ith item of a vector w2k−2, and then calculating a conjugate of each item of the vector, where i=1, 2, . . . , k−1, and w2k−2=F2k−2ũ′2k−2; and the recovering unit is configured to recover the signal according to the F2 K.
In a third aspect, a signal reconstruction apparatus is provided, including a memory and a processor, where the memory stores program codes, and the processor is configured to invoke the program codes to perform the following operations: determining a correlation between a first residual error and multiple columns in a sensing matrix according to a measured value of an original signal and the sensing matrix, and determining a first array most correlative to the measured value of the original signal in the sensing matrix according to the correlation between the first residual error and the multiple columns in the sensing matrix; determining a correlation between a kth residual error and the multiple columns in the sensing matrix according to a correlation between a (k−1)th residual error and the multiple columns in the sensing matrix, and determining a kth array most correlative to the measured value of the original signal in the sensing matrix according to the correlation between the kth residual error and the multiple columns in the sensing matrix, where 2≦k≦K; and recovering the original signal after determining the Kth array most correlative to the measured value of the original signal in the sensing matrix.
With reference to the third aspect, in a first possible implementation manner of the third aspect, the processor is configured to invoke the program codes to perform the following operations: from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtracting a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, where the (k−1)th base difference is a vector or a vector set, and the (k−1)th difference coefficient is a scalar or a scalar set or a set of vectors composed of multiple scalars.
With reference to the first possible implementation manner of the third aspect, in a second possible implementation manner of the third aspect, the processor is configured to invoke the program codes to perform the following operations: if k=2, determining a first base difference; if k=3, determining the (k−1)th base difference according to a first base difference; or if k≧4, determining the (k−1)th base difference according to first to (k−2)th base differences.
With reference to the second possible implementation manner of the third aspect, in a third possible implementation manner of the third aspect, the processor is configured to invoke the program codes to perform the following operations: determining the first base difference
With reference to the third possible implementation manner of the third aspect, in a fourth possible implementation manner of the third aspect, the processor is configured to invoke the program codes to perform the following operations: determining the kth difference coefficient ak by using formula ak=λkqρ
With reference to the third or fourth possible implementation manner of the third aspect, in a fifth possible implementation manner of the third aspect, the processor is configured to invoke the program codes to perform the following operations: determining F1 by using formula F1=[λ1]; if 2≦k≦K, determining Fk by using formula
where uk−1=−λkFk−1ũk−1; and recovering the signal according to the FK.
With reference to the fifth possible implementation manner of the third aspect, in a sixth possible implementation manner of the third aspect, the processor is configured to invoke the program codes to perform the following operations: determining a weight coefficient column vector zK by using formula zK=FKaK; determining x according to the weight coefficient column vector to make {circumflex over (x)}τ
With reference to the second possible implementation manner of the third aspect, in a seventh possible implementation manner of the third aspect, the processor is configured to invoke the program codes to perform the following operations: determining a first column and a second column of
2=[λ1θ(ρ
2k−2
=[
2k−4λ2k−3{tilde over (t)}k(f2k−3,2k−2{tilde over (t)}k−1+λ2k−2×flipud({tilde over (t)}*k−1))],
λ1=√{square root over (1/θρ
With reference to the seventh possible implementation manner of the third aspect, in an eighth possible implementation manner of the third aspect, the processor is configured to invoke the program codes to perform the following operations: determining a first row and a second row of A2 as a first difference coefficient; and determining a (2k−3)th row and a (2k−2)th row of A2k−2 as the (k−1)th difference coefficient, where:
With reference to the seventh or eighth possible implementation manner of the third aspect, in a ninth possible implementation manner of the third aspect, the processor is configured to invoke the program codes to perform the following operations: determining F2 by using formula
if 2≦k≦K, determining F2k by using formula
where reorder(w2k−2) refers to exchanging positions of a (2i−1)th item and a 2ith item of a vector w2k−2, and then calculating a conjugate of each item of the vector, where i=1, 2, . . . , k−1, and w2k−2=F2k−2ũ′2k−2; and recovering the signal according to the F2 K.
Based on the foregoing technical solutions, in the signal reconstruction method and apparatus that are provided in the embodiments of the present invention, a correlation between a first residual error and multiple columns in a sensing matrix is determined according to a measured value of an original signal and the sensing matrix; a first array most correlative to the measured value of the original signal in the sensing matrix is determined according to the correlation between the first residual error and the multiple columns in the sensing matrix; a correlation between a kth residual error and the multiple columns in the sensing matrix is determined according to a correlation between a (k−1)th residual error and the multiple columns in the sensing matrix, and a kth array most correlative to the measured value of the original signal in the sensing matrix is determined according to the correlation between the kth residual error and the multiple columns in the sensing matrix, where 2≦k≦K; and the original signal is recovered after the Kth array most correlative to the measured value of the original signal in the sensing matrix is determined. In this way, under the premise of ensuring proper recovery of the signal, the amount of calculation for reconstructing the signal can be reduced.
To illustrate the technical solutions in the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments or the prior art. The accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
The following clearly and completely describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. The described embodiments are merely a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
The technical solutions of the present invention are applicable to various communication systems, such as Global System for Mobile Communications (GSM), code division multiple access (CDMA) system, wideband code division multiple access wireless (WCDMA), general packet radio service (GPRS), long term evolution (LTE), and the like.
S110. Determine a correlation between a first residual error and multiple columns in a sensing matrix according to a measured value of an original signal and the sensing matrix, and determine a first array most correlative to the measured value of the original signal in the sensing matrix according to the correlation between the first residual error and the multiple columns in the sensing matrix.
S120. Determine a correlation between a kth residual error and the multiple columns in the sensing matrix according to a correlation between a (k−1)th residual error and the multiple columns in the sensing matrix, and determine a kth array most correlative to the measured value of the original signal in the sensing matrix according to the correlation between the kth residual error and the multiple columns in the sensing matrix, where 2≦k≦K.
S130. Recover the original signal after determining the Kth array most correlative to the measured value of the original signal in the sensing matrix.
In the embodiment of the present invention, in S120, the determining a correlation between a kth residual error and the multiple columns in the sensing matrix according to a correlation between a (k−1)th residual error and the multiple columns in the sensing matrix includes, from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtracting a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, where the kth base difference is a vector or a vector set, and the (k−1)th difference coefficient is a scalar or a scalar set or a set of vectors composed of multiple scalars.
In the embodiment of the present invention, before the from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtracting a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, the determining a correlation between a kth residual error and the multiple columns in the sensing matrix in S120 further includes: if k=2, determining a first base difference; if k=3, determining the (k−1)th base difference according to a first base difference; or if k≧4, determining the (k−1)th base difference according to first to (k−2)th base differences.
Therefore, in the embodiment of the present invention, the correlation between the kth residual error and the multiple columns in the sensing matrix is determined according to the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, and a column most correlative to the measured value of the original signal in the sensing matrix is further determined for recovering the signal. In this way, under the premise of ensuring proper recovery of the signal, the amount of calculation for reconstructing the signal can be reduced.
To enable clearer understanding of the present invention, the following describes in detail the signal reconstruction method in the embodiments of the present invention with reference to
S201. Collect a measured value (non-adaptive linear projection) of an original signal, where the measured value may be represented by equation (2.1):
y=Φs (2.1)
In the above equation, y is a measured value vector, Φ is a measurement matrix, and s is the original signal.
S202. After the measured value of the original signal is obtained, store or transmit the measured value.
S203. Determine the original signal to be reconstructed. First, perform an initialization process, where the initialization process may include the following steps.
(1) Set an initial value {tilde over (y)}=y of a residual error, that is, set the initial value of the residual error to be a measured value vector.
(2) Set an initial value of an estimated value of sparse expression x to {circumflex over (x)}=0N.
(3) Set a sensing matrix T=ΦΨH, where the sensing matrix is an N×N matrix; and denote the modulus of columns in the sensing matrix T as −(0)=[∥t(1)∥2 ∥t(2)∥2 . . . ∥t(N)∥2], where t(i) (i=1, 2, . . . , N) represents the ith column of T, and ∥t(i)∥2 represents the modulus of the vector t(i).
−(0) is set, where −(0)=[1 2 . . . N]T records a sequence number of each column of the sensing matrix, and is an initial value of an atom sequence number set to be selected. In subsequent kth (k=1, 2, . . . , N) iteration, after an atom is selected into a base matrix, a sequence number of the atom is deleted from a vector
−(k−1) correspondingly. An index of a selected column of the base matrix B is denoted as a column vector τ, and its initial value τ0 is an empty vector.
(4) Calculate and store a correlation matrix Θ=THT of the sensing matrix, or calculate and store off-diagonal items (that is, items that are not on the diagonal) of a correlation matrix Θ=THT of the sensing matrix. It should be noted that, because the sensing matrix T is generally constant, or at least constant in a long time, it is not necessary to calculate the correlation matrix Θ=THT of the sensing matrix on every occasion of reconstructing the original signal. After the correlation matrix Θ=THT of the sensing matrix is calculated and stored, the stored correlation matrix Θ=THT is reusable in subsequent reconstruction of the original signal and the correlation matrix does not need to be calculated again.
S204. Determine a first column most correlative to the measured value of the original signal in the sensing matrix, which may include the following steps.
(1) Calculate a correlation between a first residual error and each column in the sensing matrix by using formula (2.2):
q
N
=T
N
H
{tilde over (y)}=T
N
H
y (2.2)
The first residual error is the initial value of the residual error, and is equal to the measured value vector. Meanwhile, the correlation between the first residual error and each column in the sensing matrix TN is recorded by using {tilde over (q)}N=qN.
(2) Find a sequence number ρl of a column with the maximum correlation value by using formula (2.3):
Therefore, it can be determined that the ρlth column in the sensing matrix is the first column most correlative to the measured value of the original signal in the sensing matrix.
S205. Determine intermediate values
First, an intermediate parameter λ1 is calculated by using formula (2.4):
λ1=√{square root over (1/θρ
where, θρ−(0).
Then, intermediate parameters
N−1=λ1·(ρ
a
1=λ1{tilde over (q)}ρ
In the above formulas, (ρ
−(0), and {tilde over (q)}ρ
(3) Calculate parameters
1
=[
N−1] (2.7)
a
1
=[a
1] (2.8)
(4) Calculate a parameter F1 for subsequent iteration by using the following formula (2.9):
F
1=[λ1] (2.9)
(5) According to τk−1, obtain an index τk of each column of the base matrix Bk; and according to an index −(k−1) of each column of
−(k−1) and the modulus
−(k−1) of each column, obtain an index
−(k) of each column of
−(k) and the modulus
−(k) of each column respectively.
τk=[τk−1T πρ−(k−1); the ρkth item πρ
−(k−1) to obtain
−(k) for subsequent iteration; and the ρkth item is deleted from
−(k−1) to obtain
−(k) for subsequent iteration. It should be noted that, the current k is equal to 1.
(6) Update −(0),
−(0), and
−(0) to
−(1),
−(0), and
−(1) respectively, that is, delete the ρlth item {tilde over (q)}ρ
−(0) to obtain
−(1); delete the ρlth item from
−(0) to obtain
−(1); and delete the ρlth row and the ρlth column from
−(0) to obtain
−(1).
S206. Determine a kth column most correlative to the measured value of the original signal in the sensing matrix, where an initial value of k is 2, which may include the following steps.
(1) Calculate, by using formula (2.10), a correlation −(k−1) between a kth residual error and each column in
−(k−1) (that is,
−(k−1) columns to be selected in the sensing matrix T), that is:
−(k−1)=−(k−2)−
−(k−1)ak−1 (2.10)
In the above formula, the vector −(k−1) is a (k−1)th base difference, and the scalar) ak−1 is a (k−1)th difference coefficient, which have been obtained in preceding steps.
(2) Determine a sequence number ρk of a column with the maximum correlation value by using formula (2.11):
In the above formula, qi is an ith item of −(k−1), and δi is an ith item of
−(k−1).
Therefore, it can be determined that, among columns of −(k−1) (that is, the
−(k−1) column to be selected in the sensing matrix, and in other words, the sensing matrix cleared of k−1 columns selected into the base matrix), the ρkth column is a column most correlative to the measured value of the original signal in
−(k−1).
S207. Determine intermediate values −(k), ak,
(1) From the previously calculated −(k−1), obtain an item θρ
λk=1/√{square root over (θρ
(2) Calculate intermediate values −(k) (that is, a kth base difference) and ak (that is, a kth difference coefficient) for subsequent iteration by using the following formulas (2.13) and (2.14):
−(k)=−λkũk−1λk
(ρ
a
k=λk({tilde over (q)}ρ
In the above formulas, is obtained by deleting the ρkth row
(ρ
−(k−1), and {tilde over (q)}ρ
−(k−1). In addition, ak may be calculated by using ak=λk
, where
is the ρkth item of
−(k−1).
(3) Obtain intermediate parameters
k=[−(k)] (2.15)
a
k
=[a
k−1
T
a
k]T (2.16)
(4) First, calculate uk−1 by using formula uk−1=−λkFk−1ũk−1, and then calculate a parameter Fk for subsequent iteration by using the following formula (2.17):
It can be easily seen that, uk−1 and Fk are not used in iterations until in recovering the original signal (that is, in S208). Therefore, it is not necessary to calculate uk−1 and Fk in every iteration, thereby reducing the amount of calculation in each iteration and improving the speed of each iteration. Fk may also be calculated by other methods.
(5) According to τk−1, obtain an index τk of each column of the base matrix Bk; and according to an index −(k−1) of each column of
−(k−1) and the modulus
−(k−1) of each column, obtain an index
−(k) of each column of
−(k) and the modulus
−(k) of each column respectively.
τk=[τk−1T πρ−(k−1); the ρkth item πρ
−(k−1) to obtain
−(k) for subsequent iteration; and the ρkth item is deleted from
−(k−1) to obtain
−(k) for subsequent iteration.
(6) Update −(k−1),
−(k−1), and
−(k−1) to
−(k),
−(k−1), and
−(k) respectively, that is, delete the ρkth item {tilde over (q)}ρ
−(k−1) to obtain
−(k) for subsequent iteration; delete the ρkth item from
−(k−1) to obtain
−(k−1) for subsequent iteration; and delete the ρkth row and the ρkth column from
−(k−1) to obtain
−(k) for subsequent iteration.
(7) If k<K−1, the process goes back to S206 and S207 after the value of k increases by 1; if k=K−1, the process goes back to S206 and S207 after the value of k increases by 1, and subsequently S208 is performed. When S207 is performed, it is necessary only to calculate aK, aK, and FK for subsequent signal recovery.
S208. Recover the original signal, mainly including the following steps.
(1) Calculate, by using the following formula (2.18), a column vector zK composed of weight coefficients of K columns selected in the base matrix B:
z
K
=F
K
a
K (2.18)
(2) The initial value of the estimated value of x is {circumflex over (x)}=0N. In {circumflex over (x)}, let the τkth item be {circumflex over (x)}τ
(3) Determine the original signal by using the following formula (2.19):
ŝ=ω
H
{circumflex over (x)} (2.19)
The original signal ŝ is therefore obtained.
S301. Collect a measured value (non-adaptive linear projection) of an original signal, where the measured value may be represented by equation (3.1):
y=Φs (3.1)
In the above equation, y is a measured value vector, Φ is a measurement matrix, and s is the original signal.
S302. After the measured value of the original signal is obtained, store or transmit the measured value.
S303. Determine the original signal to be reconstructed. First, perform an initialization process, where the initialization process may include the following steps:
(1) Set an initial value {tilde over (y)}=y of a residual error, that is, set the initial value of the residual error to be a measured value vector.
(2) Set an initial value of an estimated value of sparse expression x to {circumflex over (x)}=0N.
(3) Set a sensing matrix T=ΦΨH, where the sensing matrix is an N×N matrix; and denote the modulus of columns in the sensing matrix T as δ=[∥t(1)∥2 ∥t(2)∥2 . . . ∥t(N)∥2], where t(i) (i=1, 2, . . . , N) represents the ith column of T, and ∥t(i)∥2 represents the modulus of the vector t(i).
An index of a selected column of the base matrix B is denoted as a column vector τ, and its initial value τ0 is an empty vector.
(4) Calculate and store a correlation matrix Θ=THT of the sensing matrix, or calculate and store off-diagonal items (that is, items that are not on the diagonal) of a correlation matrix Θ=THT of the sensing matrix. It should be noted that, because the sensing matrix T is generally constant, or at least constant in a long time, it is not necessary to calculate the correlation matrix Θ=THT of the sensing matrix on every occasion of reconstructing the original signal. After the correlation matrix Θ=THT of the sensing matrix is calculated and stored, the stored correlation matrix Θ=THT is reusable in subsequent reconstruction of the original signal and the correlation matrix does not need to be calculated again.
S304. Determine a first column most correlative to the measured value of the original signal in the sensing matrix, which may include the following steps:
(1) Calculate a correlation between a first residual error and each column in the sensing matrix by using formula (3.2):
q
0
=T
N
H
{tilde over (y)}=T
N
H
y (3.2)
The first residual error is the initial value of the residual error, and is equal to the measured value vector.
(2) Find a sequence number ρl of a column with the maximum correlation value by using formula (3.3):
where, qi0 is an ith item of q0. Therefore, it can be determined that the ρlth column in the sensing matrix is the first column most correlative to the measured value of the original signal in the sensing matrix.
S305. Determine intermediate values
(1) Calculate an intermediate parameter λ1 by using formula (3.4):
λ1=√{square root over (1/θρ
where, θρ
(2) Calculate intermediate parameters
1=λ1·θ(ρ
a
1=λ1{tilde over (q)}ρ
where, θ(ρ
(3) Calculate parameters
1
=[
1] (3.7)
a
1
=[a
1] (3.8)
(4) Calculate a parameter F1 for subsequent iteration by using the following formula (3.9):
F
1=[λ1] (3.9)
(5) According to τk−1, obtain an index τk of each column of the base matrix Bk.
τk=[τk−1T ρk]T is therefore obtained. It should be noted that, the current k is equal to 1.
S306. Determine a kth column most correlative to the measured value of the original signal in the sensing matrix, where an initial value of k is 2, which may include the following steps.
(1) Calculate a correlation qk−1 between a kth residual error and each column in the sensing matrix T by using formula (3.10):
q
k−1
=q
k−2
−
k−1
a
k−1 (3.10)
In the above formula, the vector
(2) Determine a sequence number ρk of a column with the maximum correlation value by using formula (3.11):
where, qik−1 is an ith item of qk−1, and δi is an ith item of δ.
Therefore, it can be determined that, among columns of T, the ρkth column is a column most correlative to the measured value vector of the original signal in T.
S307. Determine intermediate values
(1) From the previously calculated
λk=1/√{square root over (θρ
(2) Calculate intermediate values
k=−λk
a
k=λkqρ
where,
(3) Obtain intermediate parameters
k
=[
k−1
k] (3.15)
a
k
[a
k−1
T
a
k]T (3.16)
(4) According to τk−1, obtain an index τk=[τk−1T ρk]T of each column of the base matrix Bk.
(5) First, calculate uk−1 by using formula uk−1=−λkFk−1ũk−1 and then calculate a parameter Fk for subsequent iteration by using the following formula (3.17):
It can be easily seen that, uk−1 and Fk are not used in iterations until in recovering the original signal (that is, in S208). Therefore, it is not necessary to calculate uk−1 and Fk in every iteration, thereby reducing the amount of calculation in each iteration and improving the speed of each iteration. Fk may also be calculated by other methods than the method disclosed in the present invention.
It should be understood that, if k<K−1 (generally, K is smaller than or equal to K_sparse), the process goes back to S306 and S307 after the value of k increases by 1; if k=K−1, the process goes back to S306 and S307 after the value of k increases by 1, and subsequently S308 is performed. When S307 is performed, it is necessary only to calculate aK, aK, and FK for subsequent signal recovery.
S308. Recover the original signal, mainly including the following steps.
(1) Calculating, by using the following formula (3.18) a column vector zK composed of weight coefficients of K columns selected in the base matrix B:
z
K
=F
K
a
K (3.18)
(2) The initial value of the estimated value of x is {circumflex over (x)}=0N. In {circumflex over (x)}, let the τkth item be {circumflex over (x)}τ
(3) Determine the original signal by using the following formula (3.19):
ŝ=Ψ
H
{circumflex over (x)} (3.19)
The original signal ŝ is therefore obtained.
The method according to the present invention is applied to many communication systems or signal processing systems. For example, the technical solutions of the present invention are applicable to a system described in the document [1] (“From Theory to Practice: Sub-Nyquist Sampling of Sparse Wideband Analog Signals,” IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING, VOL. 4, NO. 2, APRIL 2010). For ease of understanding, the system is described in detail as follows with reference to
As shown in
The nth sample value on all the m channels is denoted as a column vector {right arrow over (y)}[n]:
The number of nonzero positive eigenvalues of Q is determined as Num_positive_eigenvalue. In practice, the number of eigenvalues that is greater than a very small positive number (such as 1×10−8) is statisticized. Num_positive_eigenvalue or (2×Num_band), whichever is smaller, is selected and denoted as Num_valid_eigenvalue.
Num_valid_eigenvalue=L largest eigenvalues are selected in the eigenvalues of Q, and denoted as ξj (j=1, 2, . . . , Num_valid_eigenvalue). Meanwhile, Num_valid_eigenvalue eigenvectors corresponding to the Num_valid_eigenvalue eigenvalues respectively are selected and denoted as vj (j=1, 2, . . . , Num_valid_eigenvalue).
Multiple y vectors in an orthogonal matching pursuit method are Y=[v1√{square root over (ξ1)} v2√{square root over (ξ2)} . . . vL√{square root over (ξL)}]=[y1 y2 . . . yL], and Y=TX, where Y=[y1 y2 . . . yL], X=[x1 x2 . . . XL]. That is equivalent to having multiple constraint conditions, that is, yj=Txj, where j=1, 2, . . . , L.
In all xj (j=1, 2, . . . , L), positions of nonzero items are the same. Therefore, in the method given in the reference document [1], for each constraint condition yj=Txj (j=1, 2, . . . , L), the orthogonal matching pursuit method is applied to perform signal recovery to calculate the estimation {circumflex over (x)}j of xj, but step 2 in the prior art is modified, so that L constraint conditions yj=Txj (j=1, 2, . . . , L) determine the same column (that is, atom).
For each constraint condition yj=Txj, step 1 in the prior art is applied in the reference document, that is, a correlation between a kth residual error and each column in a sensing matrix cleared of k−1 arrays is calculated by using formula −(k−1),j=
(−(k−1){tilde over (y)}j, where the subscript j represents a residual error {tilde over (y)} and correlation
−(k−1) corresponding to the constraint condition yj=Txj; and a sequence number of a column with the maximum correlation value is determined by using formula (1.3b):
In the above formula, is an ith item of
−(k−1),j. For ease of description, let:
−(k−1)=[−(k−1),1
−(k−1),2 . . .
−(k−1),L].
However, the method disclosed in the reference document is rather complicated in implementing the orthogonal matching pursuit method, and therefore, the method of the present invention may be applied to implement the orthogonal matching pursuit method to reduce the complexity.
As shown in
S401. Obtain, by using the method disclosed in the reference document [1], a measured value (non-adaptive linear projection) Y=[y1 y2 . . . yL] of an original signal and a corresponding dictionary (that is, sensing matrix) T, where the dictionary T with M rows and N columns fulfills: an ith column and a (N−i+1)th column are mutually conjugate, and all items in Y=[y1 y2 . . . yL] are real numbers.
S402. After the measured value of the original signal is obtained, store or transmit the measured value.
S403. Determine the original signal to be reconstructed. First, perform an initialization process, where the initialization process may include the following steps.
(1) Set an initial value {tilde over (y)}j=yj of a residual error, where j=1, 2, . . . , L, that is, set the initial value of the residual error to be a measured value vector.
(3) Set the sensing matrix T, where the sensing matrix is an N×N matrix; and denote the square of the modulus of columns in the sensing matrix T as −(0)=[∥t(1)∥22 ∥t(2)∥22 . . . ∥t(N)∥22], where t(i) (i=1, 2, . . . , N) represents the ith column of T, and ∥t(i)∥2 represents the modulus of the vector t(i); set
−(0), where
−(0)=[1 2 . . . N]T records a sequence number of each column of the sensing matrix, and is an initial value of an atom sequence number set to be selected. An index of a selected column of a base matrix B is denoted as a column vector τ, and its initial value τ0 is an empty vector.
(4) Calculate and store a correlation matrix Θ=THT of the sensing matrix, or calculate and store off-diagonal items (that is, items that are not on the diagonal) of a correlation matrix Θ=THT of the sensing matrix. It should be noted that, because the sensing matrix T is generally constant, or at least constant in a long time, it is not necessary to calculate the correlation matrix Θ=THT of the sensing matrix on every occasion of reconstructing the original signal. After the correlation matrix Θ=THT of the sensing matrix is calculated and stored, the stored correlation matrix Θ=THT is reusable in subsequent reconstruction of the original signal and the correlation matrix does not need to be calculated again.
S404. Determine a first array most correlative to the measured value of the original signal in the sensing matrix, which may include the following steps.
(1) Calculate a correlation between a first residual error and each column in the sensing matrix by using formula (4.1):
q
N,j
=T
N
H
{tilde over (y)}
j
=T
N
H
y
j (4.1)
In the above formula, j=1, 2, . . . , L. The first residual error is the initial value of the residual error, and is equal to the measured value vector. For ease of description, subsequently, let −(2k−2)=[
−(2k−2),1
−(2k−2),2 . . .
−(2k−2),L]. It can be easily seen that,
−(2k−2) is always a matrix with
−(2k−2) rows and L columns, and when k=1,
−(2k−2) is its initial value QN=[qN,1 qN,2 . . . qN,L]. Because the ith column and the (N+1−i)th column of TN are conjugately symmetric, only a correlation between the first residual error and about a half of columns of the sensing matrix TN needs to be calculated in practice, for example, a correlation between the first residual error and the first to
columns of the sensing matrix TN is calculated, where ┌a┐ represents an integer greater than or equal to a and contiguous to a.
(2) Find a sequence number ρl of a column with the maximum correlation value by using formula (4.2):
In the above formula, qi,jN is an ith item of qN,j, and δ′i is an ith item of −(0). If, in the previous step, only the correlation between the first residual error and the first to
columns of the sensing matrix TN is calculated, the formula applied here is:
Therefore, it can be determined that the ρlth column in the sensing matrix is the first column most correlative to the measured value of the original signal in the sensing matrix. Meanwhile, it is further determined that the (
S405. Determine intermediate values for subsequent iteration or subsequent signal recovery, and update related variables.
First, intermediate parameters are calculated by using formula λ1=√{square root over (1/θρ−(0); then u″1=λ1×θρ
(2) Let qρ
In the above formula, the matrix A2 may be represented as
where a1,:H and a2,:H represent the first row and the second row of the matrix A2 respectively, and a1,:H and a2,:H make up a first difference coefficient.
(3) Let an index of a selected atom of the base matrix be τ2=[ρl
(4) Delete the ρlth row and the (N−ρl+1)th row from −(0) to obtain
−(0); then save the ρlth column of
−(0), denote it as θ′(ρ
−(0) (:,ρl); and subsequently, delete the ρlth column and the (N−ρl+1)th column from
−(0) to obtain
−(2) for subsequent iteration; and finally, obtain an intermediate parameter
N−2=[λ1θ′(ρ
In the above formula, flipud refers to reversing order of a column vector, that is, changing the first item of the column vector to the last item, changing the second item to the last item but one, . . . , and changing the last item to the first item; and the matrix
(5) Delete the ρlth row and the (N−ρl+1)th row from the matrix −(0) to obtain
−(2) for next iteration; and use
−(2)=
−(2) to record the correlation between the first residual error and each column in the sensing matrix TN−2.
S306. Determine a kth array most correlative to the measured value of the original signal in the sensing matrix, where an initial value of k is 2, which may include the following steps.
(1) Calculate, by using formula (4.6), a correlation −(2k−2) between a kth residual error and each column in
−(2k−2) (that is,
−(2k−2) columns to be selected in the sensing matrix T), that is:
In the above formula, the vectors
which is a (k−1)th difference coefficient; and the vectors a2k−3,:H and a2k−2,:H themselves are made up of multiple scalars. The (k−1)th base difference and the (k−1)th difference coefficient have been obtained in preceding steps.
Because the ith column and the (N−2k+3−i)th column of −(2k−2) are conjugately symmetric, only the correlation between the first residual error and about a half of columns of the sensing matrix
−(2k−2) needs to be calculated in practice, for example, a correlation between the first residual error and the first to
columns of the sensing matrix −(2k−2). It is apparent to a person skilled in the art that, when only the correlation between the first residual error and the first to
columns of the sensing matrix −(2k−2) is calculated, it is necessary only to use the (k−1)th base difference, that is, the first to
rows of the matrix [
(2) Determine a sequence number ρk of a column with the maximum correlation value by using formula (4.7):
where, qi,jN−(2k−2) is an item in an ith row and a jth column of the matrix −(2k−2); then obtain a sequence number
columns of the sensing matrix −(2k−2) is calculated, the formula applied here is:
S407. Determine intermediate values for subsequent iteration or subsequent signal recovery, and update related variables.
(1) Let a vector ũ′2k−2 be equal to a conjugate transposition of the ρkth row of the matrix −(2k−2), that is, ũ′2k−2=(
−(2k−2)(ρk,:))H, and then calculate λ2k−1=1/√{square root over (θρ
−(2k−2); calculate ũ″2k−1=λ2k−1(θ
is obtained; and then calculate λ2k=1/√{square root over (θρ
In the above formula, reorder(w2k−2) refers to transforming the vector w2k−2 in the following way: exchanging positions of a (2i−1)th item and a 2ith item of the vector w2k−2, and then calculating a conjugate of each item of the vector, where i=1, 2, . . . , k−1. It should be noted that, only λ2k−1, f2k−1,2k, and λ2k are used in the iteration; w2k−2 and the entire F2k are not used in the iteration. Therefore, w2k−2 and the entire F2k may be not calculated in each iteration, so as to reduce the amount of calculation in each iteration; F2k may also be calculated by other methods than the method disclosed in the present invention.
(4) Calculate a row vector ã2k−2,:H=−ũ′2k−2HA(2k−2)+{tilde over (q)}ρ−(2k−2), or, according to ã2k−2,:H=
−(2k−2)(ρk,:), obtain a row vector ã2k−,:H directly, where
−(2k−2)(ρk,:) is the ρkth row of
−(2k−2); and then obtain an intermediate parameter A2k for subsequent iteration by using formula (4.9):
In the above formula, A2k may also be represented as
where a2k−1,:H and a2k,:H the (2k−1)th row and the 2kth row of A2k respectively, and a2k−1,:H and a2k,:H make up a kth difference coefficient.
(5) Let an index of a selected atom of the base matrix be τ2k=[τ2k−2T πρ−(2k−2) and an atom index
−(2k−2) to be selected respectively to obtain
−(2k) and
−(2k) for subsequent iteration.
(6) Delete the ρkth row and the ( −(2k−2) to obtain
−(2k−2); then save the ρkth column of
−(2k−2), denote it as θ′(ρ
−(2k−2)(:,ρk); finally, delete the ρkth column and the (
−(2k−2) to obtain
−(2k) for subsequent iteration; and delete the ρkth row and the (
−(2k−2) to obtain
−(2k−2), and then calculate
−(2k)=θ′(ρ
−(2k−2)ũ′2k−2; and finally, obtain an intermediate parameter
−(2k) for subsequent iteration by using formula (4.10):
−(2k)=[−(2k−2)λ2k−1
−(2k)(f2k−1,2k
−(2k)+λ2k×flipud(
−(2k)))] (4.10)
In the above formula, −(2k) may be represented as
−(2k)=[
−(2k−2)
−(2k) respectively, and
(7) Delete the ρkth row and the ( −(2k−2) to obtain
−(2k) for next iteration; and delete the ρkth row and the (
−(2k−2) to obtain
−(2k) for next iteration.
(8) If k<K/2−1 (generally, K is smaller than or equal to K_sparse), the process goes back to S406 and S407 after the value of k increases by 1; if k=K/2−1, the process goes back to S406 and S407 after the value of k increases by 1, and subsequently S408 is performed.
When S407 is performed, it is necessary only to update the index τ2k of the base matrix.
S408. Recover the original signal according to the index τ2K of the selected atom of the base matrix. For details, reference may be made to the prior art.
S501. Obtain, by using the method disclosed in the reference document [1], a measured value (non-adaptive linear projection) Y=[y1 y2 . . . yL] of an original signal and a corresponding dictionary (that is, sensing matrix) T, where the dictionary T with M rows and N columns fulfills: An ith column and a (N−i+1)th column are mutually conjugate, and all items in Y=[y1 y2 . . . yL] are real numbers.
S502. After the measured value of the original signal is obtained, store or transmit the measured value.
S503. Determine the original signal to be reconstructed. First, perform an initialization process, where the initialization process may include the following steps.
(1) Set an initial value {tilde over (y)}j=yj of a residual error, where j=1, 2, . . . , L, that is, set the initial value of the residual error to be a measured value vector.
(2) Set a sensing matrix T, where the sensing matrix is an N×N matrix; and denote the square of the modulus of columns in the sensing matrix T as δ′=[∥t(1)∥22 ∥t(2)∥22 . . . ∥t(N)∥22], where t(i) (i=1, 2, . . . , N) represents the ith column of T, and ∥t(i)∥2 represents the modulus of the vector t(i). An index of a selected column of a base matrix B is denoted as a column vector τ, and its initial value τ0 is an empty vector.
(3) Calculate and store a correlation matrix Θ=THT of the sensing matrix, or calculate and store off-diagonal items (that is, items that are not on the diagonal) of a correlation matrix Θ=THT of the sensing matrix. It should be noted that, because the sensing matrix T is generally constant, or at least constant in a long time, it is not necessary to calculate the correlation matrix Θ=THT of the sensing matrix on every occasion of reconstructing the original signal. After the correlation matrix Θ=THT of the sensing matrix is calculated and stored, the stored correlation matrix Θ=THT is reusable in subsequent reconstruction of the original signal and the correlation matrix does not need to be calculated again.
S504. Determine a first array most correlative to the measured value of the original signal in the sensing matrix, which may include the following steps:
(1) Calculate a correlation between a first residual error and each column in the sensing matrix by using formula (5.1):
q
j
0
=T
H
{tilde over (y)}
j
=T
H
y
j (5.1)
In the above formula, j=1, 2, . . . , L. The first residual error is the initial value of the residual error, and is equal to the measured value vector. For ease of description, subsequently, let Q0=[q10 q20 . . . qL0]. It can be easily seen that, Q0 is always a matrix with N rows and L columns. Because the ith column and the (N+1−i)th column of T are conjugately symmetric, only a correlation between the first residual error and about a half of columns of the sensing matrix T needs to be calculated in practice, for example, a correlation between the first residual error and the first to
columns of the sensing matrix T.
(2) Find a sequence number ρl of a column with the maximum correlation value by using formula (5.2):
In the above formula, qi,j0 is an ith item of qj0, and δ′i is an ith item of −(0). If, in the previous step, only the correlation between the first residual error and the first to
columns of the sensing matrix T is calculated, the formula applied here is:
Therefore, it can be determined that the ρlth column in the sensing matrix is the first column most correlative to the measured value of the original signal in the sensing matrix. Meanwhile, it is further determined that the (
S505. Determine intermediate values for subsequent iteration or subsequent signal recovery, and update related variables.
First, intermediate parameters are calculated by using formula λ1=√{square root over (1/θρ
(2) Let qρ
In the above formula, the matrix A2 may be represented as
where a1,:H and a2,:H represent the first row and the second row of the matrix A2 respectively, and a1,:H and a2,:H make up a first difference coefficient.
(3) Obtain an intermediate parameter
2=[λ1θ(ρ
In the above formula, θ(ρ
S506. Determine a kth array most correlative to the measured value of the original signal in the sensing matrix, where an initial value of k is 2, which may include the following steps.
(1) Calculate, by using formula (5.6), a correlation qjk−1 between a kth residual error and each column in the sensing matrix T, where j=1, 2, . . . , L, that is:
In the above formula, Qk−1=[q1k−1 q2k−1 . . . qLk−1], the vectors
which is a (k−1)th difference coefficient; and the vectors a2k−3,:H and a2k−2,:H themselves are made up of multiple scalars. The (k−1)th base difference and the (k−1)th difference coefficient have been obtained in preceding steps.
Because the ith column and the (N+1−i)th column of T are conjugately symmetric, only the correlation between the first residual error and about a half of columns of the sensing matrix T needs to be calculated in practice, for example, a correlation between the first residual error and the first to
columns of the sensing matrix T.
(2) Determine a sequence number ρk of a column with the maximum correlation value by using formula (5.7):
where, qi,jk−1 is an item in an ith row and a jth column of the matrix Qk−1; then obtain a sequence number
columns of the sensing matrix T is calculated, the formula applied here is:
S507. Determine intermediate values for subsequent iteration or subsequent signal recovery, and update related variables.
(1) Let a vector ũ2k−2 be equal to a conjugate transposition of the ρkth row of the matrix
In the above formula, reorder(w2k−2) refers to transforming the vector w2k−2 in the following way: exchanging positions of a (2i−1)th item and a 2ith item of the vector w2k−2, and then calculating a conjugate of each item of the vector, where i=1, 2, . . . , k−1. It should be noted that, only λ2k−1, f2k−1,2k, and λ2k are used in the iteration; w2k−2 and the entire F2k are not used in the iteration. Therefore, w2k−2 and the entire F2k may be not calculated in each iteration, so as to reduce the amount of calculation in each iteration; and F2k may also be calculated by other methods than the method disclosed in the present invention.
(2) According to ã2k−2H=Qk−1(ρk,:), obtain a row vector ã2k−2,:H directly, where Qk−1(ρk,:) is the ρkth row of Qk−1; and then obtain an intermediate parameter A2k for subsequent iteration by using formula (5.9):
In the above formula, A2k may also be represented as
where a2k−1,:H and a2k,:H represent the (2k−1)th row and the 2kth row of A2k respectively, and a2k−1,:H and a2k,:H make up a kth difference coefficient.
(3) Let an index of a selected atom of the base matrix be τ2k=[τ2k−2T ρk
(4) Calculate {tilde over (t)}k=θ(ρ
2k
=[
2k−2λ2k−1{tilde over (t)}k(f2k−1,2k{tilde over (t)}k+λ2k×flipud({tilde over (t)}*k))] (5.10)
In the above formula,
(5) If k<K/2−1 (generally, K is smaller than or equal to K_sparse), the process goes back to S506 and S507 after the value of k increases by 1; if k=K/2−1, the process goes back to S506 and S507 after the value of k increases by 1, and subsequently, S508 is performed. When S507 is performed, it is necessary only to update the index τ2k of the base matrix.
S508. Recover the original signal according to the index τ2K of the selected atom of the base matrix. For details, reference may be made to the prior art.
In
As can be seen from the simulation results in
Therefore, in the embodiment of the present invention, the correlation between the kth residual error and the multiple columns in the sensing matrix is determined according to the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, and a column most correlative to the measured value of the original signal in the sensing matrix is further determined for recovering the signal. In this way, under the premise of ensuring proper recovery of the signal, the amount of calculation for reconstructing the signal can be reduced.
Optionally, the second determining unit 620 is configured to, from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtract a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, where the (k−1)th base difference is a vector or a vector set, and the (k−1)th difference coefficient is a scalar or a scalar set or a set of vectors composed of multiple scalars.
Optionally, the second determining unit 620 is further configured to: if k=2, determine a first base difference; if k=3, determine the (k−1)th base difference according to a first base difference; or if k≧4, determine the (k−1)th base difference according to first to (k−2)th base differences.
Optionally, the second determining unit 620 is configured to determine the first base difference
Optionally, the second determining unit 620 is further configured to determine the kth difference coefficient ak by using formula ak=λkqρ
Optionally, as shown in
where uk−1=−λkFk−1ũk−1; and the recovering unit is configured to recover the signal according to the FK.
Optionally, the recovering unit 640 is configured to determine a weight coefficient column vector zK by using formula zK=FKaK; determine x according to the weight coefficient column vector to make {circumflex over (x)}τ
Optionally, the second determining unit 620 is configured to determine a first column and a second column of
2=[λ1θ(ρ
2k−2
=[
2k−4λ2k−3{tilde over (t)}k(f2k−3,2k−2{tilde over (t)}k−1+λ2k−2×flipud({tilde over (t)}*k−1))],
λ1=√{square root over (1/θρ
Optionally, the second determining unit 620 is further configured to: determine a first row and a second row of A2 as a first difference coefficient; and determine a (2k−3)th row and a (2k−2)th row of A2k−2 as the (k−1)th difference coefficient, where:
Optionally, as shown in
and if 2≦k≦K, determine F2k by using formula
where reorder(w2k−2) refers to exchanging positions of a (2i−1)th item and a 2ith item of a vector w2k−2, and then calculating a conjugate of each item of the vector, where i=1, 2, . . . , k−1, and w2k−2=F2k−2ũ′2k−2; and the recovering unit is configured to recover the signal according to the F2K.
Therefore, in the embodiment of the present invention, the correlation between the kth residual error and the multiple columns in the sensing matrix is determined according to the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, and a column most correlative to the measured value of the original signal in the sensing matrix is further determined for recovering the signal. In this way, under the premise of ensuring proper recovery of the signal, the amount of calculation for reconstructing the signal can be reduced.
Optionally, the processor 720 is configured to invoke the program codes to perform the following operations: from the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, subtracting a product of a (k−1)th base difference and a (k−1)th difference coefficient to obtain the correlation between the kth residual error and the multiple columns in the sensing matrix, where the (k−1)th base difference is a vector or a vector set, and the (k−1)th difference coefficient is a scalar or a scalar set or a set of vectors composed of multiple scalars.
Optionally, the processor 720 is configured to invoke the program codes to perform the following operations: if k=2, determining a first base difference; if k=3, determining the (k−1)th base difference according to a first base difference; or if k≧4, determining the (k−1)th base difference according to first to (k−2)th base differences.
Optionally, the processor 720 is configured to invoke the program codes to perform the following operations: determining the first base difference
Optionally, the processor 720 is configured to invoke the program codes to perform the following operations: determining the kth difference coefficient ak by using formula ak=λkqρ
Optionally, the processor 720 is configured to invoke the program codes to perform the following operations: determining F1 by using formula F1=[λ1]; if 2≦k≦K, determining Fk by using formula
where uk−1=−λkFk−1ũk−1; and
recovering the signal according to the FK.
Optionally, the processor 720 is configured to invoke the program codes to perform the following operations: determining a weight coefficient column vector zK by using formula zK=FKaK; determining x according to the weight coefficient column vector to make {circumflex over (x)}τ
Optionally, the processor 720 is configured to invoke the program codes to perform the following operations: determining a first column and a second column of
2=[λ1θ(ρ
2k−2
=[
2k−4λ2k−3{tilde over (t)}k(f2k−3,2k−2{tilde over (t)}k−1+λ2k−2×flipud({tilde over (t)}*k−1))],
λ1=√{square root over (1/θρ
Optionally, the processor 720 is configured to invoke the program codes to perform the following operations: determining a first row and a second row of A2 as a first difference coefficient; and determining a (2k−3)th row and a (2k−2)th row of A2k−2 as the (k−1)th difference coefficient, where:
Optionally, the processor 720 is configured to invoke the program codes to perform the following operations determining F2 by using formula
if 2≦k≦K, determine F2k by using formula:
where reorder(w2k−2) refers to exchanging positions of a (2i−1)th item and a 2ith item of a vector w2k−2, and then calculating a conjugate of each item of the vector, where i=1, 2, . . . , k−1, and w2k−2=F2k−2ũ′2k−2; and recovering the signal according to the F2K.
Therefore, in the embodiment of the present invention, the correlation between the kth residual error and the multiple columns in the sensing matrix is determined according to the correlation between the (k−1)th residual error and the multiple columns in the sensing matrix, and a column most correlative to the measured value of the original signal in the sensing matrix is further determined for recovering the signal. In this way, under the premise of ensuring proper recovery of the signal, the amount of calculation for reconstructing the signal can be reduced.
Number | Date | Country | Kind |
---|---|---|---|
201210174062.5 | May 2012 | CN | national |
This application is a continuation of International Application No. PCT/CN2013/075315, filed on May 8, 2013, which claims priority to Chinese Patent Application No. 201210174062.5, filed on May 30, 2012, both of which are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2013/075315 | May 2013 | US |
Child | 14554355 | US |