I am a PhD student with little engineering experience, currently attempting to recreate the signal processing techniques used in this paper: Monitoring Vital Signs and Postures During Sleep Using WiFi Signals. As a TL;DR: changes in channel state information (amplitude, in this instance) can be attributed to movements in otherwise still environments, most notably breathing and heart rate.

In recreating the signal processing performed in this paper, I have found it challenging to follow how the authors produced results as seen in Figure 8a and 8b, which should show isolated breathing frequencies.

At this phase, the signal (across 30 subcarriers) has been filtered using:

  • Hampel filter (for significant outlier removal)
  • Running mean filter (for smoothing)
  • Butterworth bandpass filter (to isolate potential breathing frequencies)

Once this has been done, a heatmap of amplitude across the subcarrier spectrum can be produced which should show clear banding, as seen in Figure 8a. The Power Spectral Density for each subcarrier can be plotted, with the peak of the mean indicating the strongest observed frequency (Figure 8b). However, the lines plotted in this figure are curved, and I have been unable to find another example of curved PSD. It seems as though there is less data than implied in this graph, as this figure represents 5s of data (which was captured at 20Hz), which means the PSD could only be plotted for a 100n FFT. In my understanding, this should mean the bins are 0.2Hz wide? It appears as though they are able to use these curves across the peaks to infer additional information.

Figure 8

Using MATLAB's spectrogram, I have been able to plot the observed PSD in a similar signal (captured at 100Hz), and the peaks on this graph are not curved. My understanding of FFTs is that the peaks for each bin can be observed, but an asymmetrical curve as seen in Figure 8b cannot be drawn as we have no further information other than the bin.

My recreation of Figure 8

Is my understanding of FFTs or PSD incorrect, or have I missed an obvious step in producing the results as seen?


Different methods exist for estimating PSDs. They can be broadly classified as parametric or non-parametric methods. Indeed you should learn which method they used to obtain the associated PSD.

An FFT based PSD estimation is a non-parametric method such as Periodogram and its variants. This method will produce random looking non-smooth output result which can be smoothed, but this has limits and has side effects too.

On the other hand, parametric estimators can produce very smooth and high resolution looking PSD estimates. There are many parametric PSD estimators. The authors probably used a model based parametric estimator to obtain the plotted PSD, that's why they are smooth looking and that's what I understand from your word curved ?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.