# Compressive Sensing-Based IoT Applications: A Review
## 4 CS-Based IoT Applications
### Application Layer
#### 4.3.4 Traffic Monitoring  
Traffic monitoring is the crucial task that can provide great insights for the design and the management of infrastructures in highly urban cities. The state-of-the-art traffic monitoring approaches exploit roving vehicles and the mobility of smart-phones to provide periodic reports regarding traffic status, driving speeds and the flow direction to estimate the whole traffic conditions [136]. These approaches often employ an intensive number of users (probes) to cover the roads of interest. Nevertheless, their performances are usually limited by the number of users, energy expenditure of the sensing devices, privacy as well as the high cost associated with hiring many participants to provide the complete traffic map. However, the high dimensional datasets for traffic conditions can be well approximated with low-rank matrices by mining the hidden structure of this datasets. [PERSON] et al. [137] used principal component analysis to mine a large set of traffic data collected in China. Their analysis showed that the energy is concentrated in just a few principal components which underpin the applicability of CS-based traffic sensing. On the other hand, individual traffic reports are usually error-prone; for instance, if the car goes through obstructions (urban canyons and underpasses), the reliability of their GPS data would fade. In addition, with the continuous mobility of the probes, multi-path propagation phenomena will degrade the quality of wireless communication which will lead to huge amount of missing data. Thus, CS can be used to estimate the entire data (including the missing one) from the partially received traffic data points. The approach proposed in [137] has proven to provide an estimation error less than 20% even though 80% of the data were not received. Furthermore, by leveraging the fact that the traffic conditions among interconnected roads are highly dependent, the correlation model between these traffic conditions can be explored to reduce the number of users, while maintaining the same quality for the entire city traffic map. [PERSON] et al. [138] presented a multiple linear regression (MLR) method based on CS to estimate the entire road traffic from a small set of measurements. The idea is to divide the map to \(N\) blocks relying on the intersecting points. Then, only a small number of blocks \(M\ll N\) are assigned with \(j\) vehicles (probes) to measure the average velocity \(v_{j}\) and the distance to travel each road \(L_{j}=[l_{j}^{1},l_{j}^{2},\cdots,l_{j}^{M}]\). Hence, to estimate the entire road velocities from the set of observed velocities \(\{v_{j}\}_{j=0}^{j=M}\), CS recovery algorithms can be adopted. The authors compared their approach with state-of-the-art solutions based on singular value decomposition (SVD), the results showed that the proposed method achieved an estimation accuracy up to 80% while the SVD approach achieved only a 60% estimation accuracy.  
Finally, more CS-based data analytic approaches can be addressed in that future. For instance, by leveraging the reconstruction reports, data mining and incremental learning algorithms [139] can be deployed at the cloud to determine the optimal number of measurements every node has to acquire to provide the best reconstruction performance.  
Table 4 provides a summary for the extant efforts to integrate CS into IoT applications.