## 1 Introduction  
Wireless sensor networks (WSNs) are currently deployed for many applications, such as environmental monitoring, civil structure maintenance, military surveillance, and so on. In most of these kinds of applications, sensor nodes in the network are set to periodically report their sensed data (_i.e._, readings) to a sink node (or remote base station) through intermediate nodes' relay. Under such circumstances, energy efficiency becomes one of the dominating issues of this data gathering process. Many solutions have been proposed based on various aspects, which include, among others, topology control (e.g., [1]), sleep scheduling (e.g., [2]), mobile data collectors (e.g., [3]), and data aggregation (e.g., [4; 5; 6; 7]). The first three approaches focus on the energy efficiency of data gathering protocols or strategies, while the last one aims at reducing the required number of data packets to be sent to the sink node by eliminating data redundancy [8], hence it complements the others. Generally speaking, depending on the information that is needed at the sink node, existing data aggregation research falls into two categories: \"functional\" and \"recoverable\" [9]. The first one corresponds to cases where only some values of statistical function of the network sensed data (e.g., AVG, MAX, SUM) are required by the sink node. Alternatively, the second one is for applications where the sink node needs the set of entire network sensed data. Compressed data gathering (CDG), based on the theory of compressed sensing (CS, [10]) and network coding (NC, [11]), has recently been proposed as a promising \"recoverable\" scheme, it enables the sink node acquire the complete network sensed data in an energy-efficient manner, as well as balance the energy consumption among sensor nodes. First of all, we make some definitions on the problem to be discussed. Given a WSN of \(N\) sensor nodes, each having a piece of reading \(x_{i}\left(i=1,\ 2,\dots,\ N\right)\) at each data gathering epoch, we denote \(X_{N}=\left[x_{1},\ \dots,\ x_{N}\right]^{T}\) as the network sensed data. In a typical CDG scheme, the sink node will reconstruct \(X_{N}\) by collecting only \(M\ \left(M\ll N\right)\) weighted sums of \(x_{i}\) from the network rather than all \(N\) original readings (in CS theory, these \(M\) weighted sums \(Y_{M}=\ \left[y_{1},\ y_{2},\cdots,\ y_{M}\right]^{T}\) are formed by \(Y_{M}=\Phi X_{N}\), where the \(M\)-by-\(N\) matrix \(\Phi\) is the measurement matrix (or called projection matrix), and each \(y_{i}\) is the corresponding measurement (or projection) result of \(X_{N}\); unless otherwise specified, \"projection\" and \"measurement\" are interchangeable hereunder). Such a reconstruction process is guaranteed and performed based on an observation fact that, in most network deployment cases, \(X_{N}\) has a property called \(K\)-sparse (\(K\ll\ N\)) under certain orthogonal transform domains (e.g., discrete wavelet transform, discrete cosine transform [10,12]). In most previous CDG studies, classical CS theory is directly adopted without concern for the the WSN specialty, which inevitably incurs several shortcomings. For example, when processing a signal, CS theory conventionally supposes that the sparsity (_i.e._, sparse degree) of this signal is fixed, while in a more general network deployment environment, the sparsity of the data observed by the network may change frequently. As shown in Figure 1, two 1000-reading datasets of ocean temperature data (OTD) are plotted with red lines. These datasets were collected from the Pacific Ocean on 29 March 2014 (Figure 1a) and 2 April 2014 (Figure 1c), respectively [13]. By comparing these two figures, we can see that the sparsity is changing; specifically, there are 61 larger coefficients after transformation of the first dataset (61-sparse signal), and only 53 in the second (53-sparse signal). There are also some other practical shortcomings, which will be elaborated in Section 3. To address these challenges, we propose an adaptive CDG scheme in this paper.