Semitensor Product Compressive Sensing for Big Data Transmission in Wireless Sensor Networks

. Big data transmission in wireless sensor network (WSN) consumes energy while the node in WSN is energy-limited, and the data transmitted needs to be encrypted resulting from the ease of being eavesdropped in WSN links. Compressive sensing (CS) can encrypt data and reduce the data volume to solve these two problems. However, the nodes in WSNs are not only energy-limited, but also storage and calculation resource-constrained. The traditional CS uses the measurement matrix as the secret key, which consumes a huge storage space. Moreover, the calculation cost of the traditional CS is large. In this paper, semitensor product compressive sensing (STP-CS) is proposed, which reduces the size of the secret key to save the storage space by breaking through the dimension match restriction of the matrix multiplication and decreases the calculation amount to save the calculation resource. Simulation results show that STP-CS encryption can achieve better performances of saving storage and calculation resources compared with the traditional CS encryption.


Introduction
For its ease of deployment and cost effectiveness, wireless sensor network (WSN) is widely used in environment monitoring, disaster relief, military, and so on [1][2][3].For example, with WSN for forest fire monitoring, numerous sensors are deployed in the monitor area, and big data should be gathered and transmitted in real-time.Big data transmission consumes vast energy, but the node in WSNs is energy-limited.If the battery of the node is drained, the node is useless.Moreover, since the nodes in WSNs use wireless communication technologies, the link is easy to be eavesdropped, and the data transmission needs to be encrypted.So big data transmission in WSNs should solve the energy-efficiency and encryption problems.CS can decrease the volume of the data transmitted, which can save the energy to prolong the life of the node [4,5].CS is also a kind of encryption method resulting from the randomness of the measurement matrix [6].So CS can be used to encrypt data and save energy simultaneously.
However, the CS encryption uses the measurement matrix as the secret key, while the measurement matrix needs a huge storage space which is not suitable for WSNs.In WSNs, nodes are not only energy-limited, but also storage and calculation resources-constrained.Many optimization methods for the measurement matrix have been proposed [7,8].However, most of these existing methods focused on how to improve the recovery accuracy, decrease the iteration number, and accelerate the calculation.For reducing the size of the measurement matrix, most works focused on reducing the row number of the measurement matrix [9,10], because the column number must be equal to the signal length according to the rule of matrix multiplication.Another kind of method to reduce the matrix size is dividing the signal into blocks, but this needs extra data processing overhead.
Another kind of CS encryption can save storage space by storing matrix generation parameters as the secret key rather than the whole matrix [11,12].This kind of CS encryption generates matrices by deterministic methods such as algebraic curves [13], coding (LDPC, BCH) [14], and chaotic systems (Chebyshev, Logistic, and Tent) [15,16]; it can save huge storage space compared with keeping the whole matrix.However, using this method, users have to generate the matrix before encryption for each transmission.Although the deterministic method can decrease the key storage space by storing parameters, it needs to calculate the measurement matrix in real-time, which is at the expense of the calculation resource.
In this paper, semitensor product compressive sensing (STP-CS) is proposed to solve the problems above.STP-CS can save the storage space by introducing the semitensor product [17][18][19] into compressive sensing, which can break through the dimension restriction of matrix multiplication and reduce the row and column numbers of the measurement matrix simultaneously.Compared with deterministic methods, the calculation resource of STP-CS is saved, because STP-CS does not need to generate the matrix in real-time before data encryption.An algorithm for STP-CS is also proposed, which saves the calculation resource compared with the traditional CS in theory and under simulation.Contributions of this paper are as follows: (i) STP-CS reduces the row and column numbers of the measurement matrix simultaneously to save the storage space.
(ii) An algorithm of STP-CS is proposed to save the computing resources.
(iii) The recovery performance of STP-CS is similar to those of the traditional CS and CCS, and the compression ratio performance of STP-CS is not affected.
The rest of this paper is organized as follows.Section 2 introduces the details of STP-CS encryption.The storage and calculation resources of STP-CS are analyzed in Section 3. Simulation results are discussed in Section 4. The last section concludes this paper.
Notation.The following notation is used throughout the paper.WSN denotes the wireless sensor network.CS denotes compressive sensing.CCS denotes the chaotic compressive sensing.STP-CS denotes the semitensor product compressive sensing.,  denote the plain message and cipher message, respectively.,  are the length and sparsity of , respectively.Φ denotes the measurement matrix, and ,  are the row and column number of the measurement matrix, respectively.

Related Works
In this section, some works about how to decrease the storage space of the CS secret key are introduced.There are two kinds of methods to decrease the storage space; one kind is reducing the size of the measurement matrix.Another is using the deterministic measurement matrix, and with this method, the matrix generation parameters are saved rather than the whole matrix.
A method for designing the measurement matrix is proposed in [10].This method can reduce the row number of the measurement matrix, but the side information is needed for the design of the measurement matrix.Model based compressive sensing is proposed in [9].Using this model based CS, the signal can be recovered by less number of measurements by leveraging more realistic signal models; less number of measurements means the row number of measurement matrix is reduced.But the recovery algorithm has to be improved; the traditional recovery algorithm cannot be used.Compared with these methods, STP-CS can reduce not only the row number of the measurement matrix, but also the column number by breaking through the restriction of matrix multiplication.
There are many kinds of deterministic measurement matrices.The chaotic sequence has the property of pseudorandom, so it can be used for constructing the measurement matrix [15].The possibility of constructing measurement matrix with different kinds of chaotic systems is investigated, including Chen system, Chua system, and Lorenz system [16].Algebraic curves like elliptic curves can also be used to construct the deterministic measurement matrices [13].LDPC code is another kind of method for constructing the deterministic measurement matrices [14].All these methods only need to store some parameters rather than the whole matrix, but the measurement matrix has to be generated in real-time.Compared with these methods, STP-CS can save huge computing resource.
In addition, there are many other matrices which can be used as deterministic measurement matrix, such as cyclic matrix [20], Toeplitz matrix [21], chirp matrix [22], and polynomial matrix [23].However, these matrices have other restrictions.Cyclic matrix and Toeplitz matrix still need to store lots of test data, and the construction of polynomial matrix is limited by the signal length [20].

STP-CS Data Communication
In this section, the details of our proposed STP-CS encryption are introduced.Before this, CS encryption is introduced.

CS Encryption.
Based on CS theory [24,25], suppose  ∈   is a plain message; project  to  ∈   using the matrix Φ ∈  × ,  = Φ, where Φ is called the measurement matrix and  < .Because  is very different from ,  is regarded as the cipher message, and Φ is the secret key.At the receiver,  can be recovered with  and Φ by utilizing some algorithms such as BP, OMP, and ROMP [24,26,27].For the recovery,  should be sparse or sparse on some orthogonal basis Ψ ∈  × ; that is,  = Ψ.The sparsity here means  values of  are nonzero, while the other  −  values are zero, where  ≪ .Though  < , for the accuracy recovery,  cannot be arbitrarily small; it has to be satisfied with where  is a small constant [24].Resulting from the dimension restriction of the matrix multiplication, the column number  of the measurement matrix has to be equal to the dimension of the signal .For storing a CS secret key,  elements need to be stored.So, to decrease the size of the measurement matrix, this restriction has to be broken through.

Semitensor Product.
The semitensor product (STP) was proposed by Cheng and Zhang in [17].STP is the generalization of the conventional matrix multiplication, and it can break through the dimension match restriction of the conventional matrix multiplication.Suppose  is a row vector of dimension ; V is a column vector of dimension ; dividing  to  equal parts, that is,  1 , . . .,   , each part   is a row vector of dimension .The definition of STP, denoted by ⋉, is Similarly, . Generalized to a matrix, suppose  ∈  × ,  ∈  × ; if  is the factor of  or  is the factor of , the definition of the semitensor product of  and  is as follows: where   denotes the th row of  and   denotes the th column of .

STP-CS Encryption
. Now, introduce STP into CS encryption [28].The definition of STP-CS is as follows: where  ∈  × ,  < ,  ∈   .To decrease the size of the measurement matrix ,  should be as small as possible.
For meeting the requirement of STP, we choose  with the condition  | .According to [17], where  ∈  / and ⊗ denotes the Kronecker product [17].When  = , (5) translates to  = , which is the traditional CS.From ( 5), STP-CS with the measurement matrix  is equivalent to the traditional CS with the measurement matrix ( ⊗  / ).The RIP, spark, and coherence of the measurement matrix are introduced in [28],  needs to meet these conditions.Based on the definition of STP-CS, for a signal  ∈   , the column number of the measurement matrix  only needs to be satisfied with the condition  | , while the traditional CS should meet the dimension match, and the column number must be equal to .So compared with the traditional CS, the column number of the measurement matrix can be decreased.As for the row number of the measurement matrix in STP-CS, it can be also decreased which will be introduced in next section, while the row number of the measurement matrix in the traditional CS cannot break through the restriction in (1).So, although the STP-CS encryption also keeps the measurement matrix as the secret key, it can save a huge storage space by decreasing the size of the measurement matrix.
Compared with deterministic methods [15], like chaotic compressive sensing (CCS), the storage space of the measurement matrix in STP-CS is not decreased, because CCS stores matrix generation parameters such as chaotic parameter or chaos sequence initial value.But calculation resource of STP-CS is saved.The measurement matrix in CCS has to be generated in real-time, which will need much calculation resource.So STP-CS can save storage space compared with the traditional CS and save calculation resource compared with CCS.In fact, STP-CS can also save calculation resource compared with the traditional CS, which will be introduced in the next section.So STP-CS can be widely used in resourcelimited scenarios like WSNs.STP-CS encryption can not only solve the security and energy-efficiency problems but also save storage and calculation resources.

An Algorithm for STP-CS.
In this part, an algorithm for STP-CS is proposed, which can implement STP-CS using less calculation resource than the traditional CS.
From (3), computing  ⋉  needs to compute   ⋉ ,  = 1, 2, . . ., .To compute   ⋉ , split  to /, and use each element of   to multiply the corresponding block of , which means that every element of  needs to be multiplied by several numbers.As for matrix multiplication, suppose C = Ã B; an arbitrary element ã of Ã needs to be multiplied by every element of the th row of B. Based on the above analysis, an algorithm for STP-CS using matrix multiplication is proposed.
(1) Project  to an  × (/) matrix as follows: (2) Left multiply the above matrix  matrix using the STP-CS measurement matrix : (3) Transform each row of  matrix into a column vector, and construct a new column vector using these vectors.This new column vector is equal to .
Next is the brief proof for step (3).Based on the second step of the algorithm, we have And  can be split into  blocks with / elements; the th element of the th block of  is So    =  matrix (), and  matrix can be transformed to .
The diagram of the STP-CS algorithm above is shown in Figure 1. is the plain message and  is the cipher message. is the secret key of STP-CS encryption.

Performance Analysis
In this section, the performance of STP-CS is analyzed, including storage resource, calculation resource, and compression ratio.
Based on (5), STP-CS with the measurement matrix  ∈  × is equivalent to the traditional CS with the measurement matrix ( ⊗  / ) ∈  (/)× .According to (1), we have And then where  is a small constant.In order to compress the signal, the dimension of  should be satisfied with / < ; that is,  < , so the range of the row number of  is Because storing a measurement matrix needs to keep  elements, the range of the storage space for one STP-CS key is Based on  | , set  = ,  ∈  + , and  is the factor of ; (13) can be transformed to Equation ( 14) is the relationship between the key storage space and the dimension and sparsity of the signal .For comparison, suppose   ∈    ×  is the measurement matrix for the traditional CS.To encrypt the same signal, the condition   = ,   ≥  log 2 (/) should be satisfied, so the storage space for one traditional CS key is From ( 14) and ( 15), the low bound of one STP-CS key storage space is smaller than that of one traditional CS key storage space, when  ̸ = 1.According to (4) and ( 5),  is a column vector of dimension /.According to (3),  includes  column vectors with dimension /; that is, where Next, we analyze the compression ratio of STP-CS.From (5), the dimension of  is /, so the compression ratio is  = (/)/ = /, where  and  are the row number and column number of the STP-CS measurement matrix, respectively.From (12), the range of compression ratio  of STP-CS is  log(/)/ ⩽ / < 1.And the compression ratio of the traditional CS is   =   /, where   is the row number of the traditional CS measurement matrix, and  is the dimension of the signal.From the row number restriction, the range of   of traditional CS is ( log(/))/ ⩽   / < 1.So the range of STP-CS is the same as that of the traditional CS.STP-CS can obtain the same compression ratio as the traditional CS.

Simulation Results
In this section, simulations of STP-CS encryption and decryption are discussed.In the experiment, the length of the original signal  is 256, and the sparsity  is 7.The signal is a frequency domain sparse signal, which is combined by some discrete sine signals.The recovery algorithm is OMP, and the recovery performance is measured by the relative error, which is the 2-norm of the recovery error x −  relative to the 2-norm of the original signal , and x is the recovered signal.The simulation time is 200, and the relative errors in Figures 2, 5, and 6 are the average values of the 200 simulation results.
Figure 2 shows the recovery performance of STP-CS compared with the traditional CS and CCS [16].The compression ratio is 0.25, and two groups of the STP-CS matrix ,  are processed.The sizes of two STP-CS matrices are  = 1,  = 4 and  = 2,  = 8, respectively.The sizes of the traditional CS and CCS are both 64 × 256.From Figure 2, four curves coincide with each other after 20 dB.For example, At 20 dB, the relative error of the traditional CS is 0.0788, the relative error of CCS is 0.0769, the relative error of STP-CS with 1 × 4 matrix is 0.0644, the relative error of STP-CS with 2×8 matrix is 0.0579, and the relative errors of three kinds of matrices tend to be zero at 30 dB. Figure 3 shows the variance of the relative errors of the 200 simulation results.From Figure 3, the variance is small, after 10 dB, all variances are less than 0.01.The variance of STP-CS is smaller than the traditional CS and CCS.So the relative error of STP-CS is stable.This implies that the recovery performance of STP-CS is similar to those of the traditional CS and CCS.The size of the STP-CS matrix is extremely small, which implies that the small-size measurement matrix of STP-CS achieves a similar recovery performance as that of the traditional CS, so STP-CS can save storage space.Not only the above signal but also STP-CS can be used for other kinds of signals.1, the relative errors are small for these four kinds of signals.STP-CS can encrypt the signals with different length, but the dimension of the measurement matrix of the traditional CS should be adjusted to match the signal length.
STP-CS can be also used for the image.Figure 4 shows the recovery results for a Lena image.The image size is 512 × 512, the size of the measurement matrix is 64 × 128, and the PSNR (Peak Signal to Noise Ratio) is 33.64 dB.The compression ratio of STP-CS is 0.5.For the traditional CS, the size of the measurement matrix should be 256×512 for the compression ratio 0.5, so STP-CS can save huge storage space for the measurement matrix.
The computing resources are measured by computing time.In this part, the encryption time is recorded by MATLAB system time, and the unit is millisecond.The compression ratio is also 0.25.The size of the STP-CS matrix is 1 × 4, the size of the traditional CS matrix is 64 × 256, and the size of the chaotic matrix is 64 × 256.The encryption time of the above three methods is 0.161 ms, 0.254 ms, and 1.953 s, respectively.Because the CCS needs to generate the matrix, the time of CCS is very long.Table 1 shows the computing time for different groups of ,  for the STP-CS matrix.From Table 2, the computing time increases with the    and  should be small.Along with the increment of the signal length, the traditional CS should increase the row of the measurement matrix which will increase the calculation quantity, while the STP-CS does not need to increase the row number.So the STP-CS also has the advantage on the decrement of computing resources.In Figure 5, the compression ratio performance of STP-CS is shown.The compression ratio of STP-CS is /; to get the small-size matrix, we choose ,  as small as possible.At 20 dB, the relative error of the 1 × 8 matrix is 0.0840, the relative error of the 1 × 4 matrix is 0.0655, the relative error of the 2 × 4 matrix is 0.0461, and the relative error of the 3 × 4 matrix is 0.0374.The recovery errors of these four matrices tend to be zero after 20 dB.This implies that the STP-CS can also achieve low compression ratio without affecting the recovery accuracy.Even the compression ratio is 0.125; at 30 dB, the relative error is 0.0261, similar to that of the ratio  of 0.25, 0.0207.So the relative error can also tend to be zero at high SNR.
From Figure 6, only the original matrix can decrypt the data correctly, and the recovery errors of the other three matrices are larger than 20% from −5 dB to 30 dB.The elements of other three matrices are only partly the same as those of the original matrix, and the encrypted data cannot be decrypted by a different key.Even if there is an eavesdropper who has 50% of the elements of the key, the encrypted data still cannot be decrypted.At 30 dB, the relative errors of these three matrices are larger than 40%, which implies that, even at high SNR, the eavesdropper still cannot recover the data accurately.
For comparison, Figure 7 shows the security of the traditional CS.Similar to the encryption of STP-CS, only the original matrix can decrypt the data correctly, and the other three matrices cannot decrypt the data; the recovery errors of the other three matrices are larger than 80% from −5 dB to 30 dB.Based on this relative error, the performance of the traditional CS is better than STP-CS.But the dimension of the measurement matrix is 64 × 256, while the dimension of the measurement matrix is 2 × 8, so the security performance of STP-CS can be improved by increasing the size of the measurement matrix.

Conclusions
CS can fulfill the energy-efficiency and the encryption for big data transmission simultaneously.But the measurement matrix needs huge storage space, and the calculation cost of CS is large.In this paper, we propose STP-CS encryption to decrease the storage space for the secret key to save storage resource and reduce the calculation amount to save calculation resource.The simulation results show that the performance of saving resource is better compared with the traditional CS and CCS.

4 Figure 2 :
Figure 2: Recovery results.The range of SNR is from −5 dB to 30 dB.The traditional CS uses a Gaussian matrix, CCS uses a Chebyshev matrix, and STP-CS uses a Gaussian matrix.The simulation time is 200; the relative errors are the average values of the 200 simulation results.

4 Figure 3 :
Figure 3: Variance of the relative errors of 200 simulation results.The range of SNR is from −5 dB to 30 dB.The traditional CS uses a Gaussian matrix, CCS uses a Chebyshev matrix, and STP-CS uses a Gaussian matrix.

Figure 4 :
Figure 4: STP-CS for image.(a) is the original image.(b) is the recovery image.The measurement matrix is a Gaussian matrix, and the recovery algorithm is OMP.

Figure 5 :
Figure 5: Performance of compression ratio.Four kinds of ratios, that is, 0.125, 0.25, 0.5, and 0.75, are tested.The simulation time is 200; the relative errors are the average values of the 200 simulation results.

Figure 6 :
Figure6: Security of STP-CS encryption.The data are encrypted by a 2 × 8 matrix.Four matrices are used to decrypt the encryption data, including the original matrix, 12.5% of the elements the same as the original matrix, 25% of the elements the same as the original matrix, and 50% of the elements the same as the original matrix.The left unknown elements are generated randomly.

Figure 7 :
Figure7: Security of the traditional CS encryption.The data are encrypted by a 64 × 256 matrix.Four matrices are used to decrypt the encryption data, including the original matrix, 12.5% of the elements the same as the original matrix, 25% of the elements the same as the original matrix, and 50% of the elements the same as the original matrix.The left unknown elements are generated randomly.
in which   is the th row of , and   is th block of .The dimension of   Now analyze the computing resource of the algorithm proposed in Section 2. Computing each element of  matrix needs  multiplications and  − 1 additions, and  matrix has / elements, so the whole resources needed for computing  matrix are  multiplications and (( − 1)/) additions.Compared with the definition of STP-CS, the calculation quantity is the same.
Tx → x matrix , x matrix ∈ R N×(P/N) Figure 1: STP-CS algorithm diagram.is/.From (2), computing each   needs (/) ×  multiplications, that is,  multiplications, and (−1)×(/) additions. includes    .So computing the whole  needs  multiplications and ( − 1)/ additions.However, using the traditional CS needs the measurement matrix   ∈  (/)× in order to get the same data volume of STP-CS.Computing each measurement needs  multiplications and  − 1 additions.Computing the whole  needs  2 / multiplications and ( − 1)/ additions.To get the same number of measurements, the multiplication resources of the traditional CS are / times that of STP-CS; the addition resources of traditional CS are ( − 1)/( − 1) times that of STP-CS.Resulting from  | , / ⩾ 1, the traditional CS needs more resources than STP-CS.When  = , the resources needed are the same for both methods.In fact, if  = , STP-CS degenerates to the traditional CS.

Table 1
shows the recovery results of four kinds of signals.These signals are generated by MATLAB, including Bernoulli, Gaussian, Uniform, and Power distributions.The recovery algorithm is OMP, and the measurement matrix is a 16 × 32 Gaussian matrix for three kinds of length signals.From Table

Table 2 :
Encryption times for different groups of , .The encryption method is STP-CS, unit ms.
increments of , , and .So, to reduce the computing time,