Checking if a signal is stationary

In summary: A low-pass filter does not improve the signal to noise ratio, I would say.In summary, a low-pass filter does not improve the signal to noise ratio, and histogramming the signal to estimate a steady level and standard deviation may be a fine approach for the evaluation of the stationary of this signal.
  • #1
269
2
Hi all,

I have a signal and I need to check if it is stationary. I segmented a signal into different segments and for each I calculated the average value. It is enough to assess a weak nonstationary? Is there any limit value of the deviation of the average value of each segment with respect to the average value of all signal?

Thanks
 
Engineering news on Phys.org
  • #2
Impossible to answer. For your circumstances, you (or someone who can establish the criteria) have look at the signal and determine when it is steady and when it is not. Then try to establish some criteria. Unsteady can mean anything (creep, spikes, noise). Comparing averages of segments may be ok, may be not.
 
  • #3
Hi BvU,

thanks for your reply. Here is a signal sample:

force.jpg

It's spiky due to contact between a plate and granular material. In my opinion, the signal is nonstationary, but I'm searching a more scientific method for this verification and therefore I adopeted the segmentation approach and asked for suggestions in the forum. Hopefully it helps
 
  • #4
I would certainly call this nonstationary. With signals like this you have a base level, some noise and huge spikes. I suppose the pikes are of interest and if the game is to detect them, a simple discriminator level would be my choice. First you make a histogram of the signal to determine the base level (around 1400 N is my guess), and the (harder) next step is to choose a discriminator level: a balance between missing small signals and raising 'false alarms'. The relative 'cost' of each of these two mishaps determines where it ends up.

[edit] changed guess to 1400 N
 
Last edited:
  • Like
Likes Pepper Mint
  • #5
BvU said:
I would certainly call this nonstationary. With signals like this you have a base level, some noise and huge spikes. I suppose the pikes are of interest and if the game is to detect them, a simple discriminator level would be my choice. First you make a histogram of the signal to determine the base level (around 140 N is my guess), and the (harder) next step is to choose a discriminator level: a balance between missing small signals and raising 'false alarms'. The relative 'cost' of each of these two mishaps determines where it ends up.

Thank you for your reply. Nice the idea of the histogram. What I did is counting the time of base lavel with respect to the total time. May signal segmentation a fine approach for the evaluation of the stationary of this signal?
 
  • #6
serbring said:
May signal segmentation (be) a fine approach for the evaluation of the stationary of this signal?
You still have to deal with the noise and place the cut between steady and disturbed somewhere...
 
  • #7
Consider doing your analysis in the frequency domain rather than the time domain .
 
  • #8
As I understand it a stationary signal has constant statistical properties such as a constant standard deviation.
 
  • #9
CWatters said:
As I understand it a stationary signal has constant statistical properties such as a constant standard deviation.
Indeed, and the idea of histogramming the signal is to estimate steady level and standard deviation so that a reasonable discriminator level minimizes false alarms and missed instabilities.
 
  • #10
BvU said:
You still have to deal with the noise and place the cut between steady and disturbed somewhere...

I haven't really understood what you mean for "placing the cut between steady and disturbed somewhere". I filtered the data with a low pass filter in ordere to remove the small signal oscillations, there is a little drift that I don't know how to cut it.

Nidum said:
Consider doing your analysis in the frequency domain rather than the time domain .

I tried to computed the PSD but since the signal is not stationary there is no dominant frequency. I want to apply the wavelet analysis, but I have never used it, so I have to study the topic.
CWatters said:
As I understand it a stationary signal has constant statistical properties such as a constant standard deviation.

This is the definition I know as well, and in fact, I segmented all the signals into 10s frame and I computed the average value and the standard deviation for each frame and it resulted a large deviation from the average value of the entire signal.

BvU said:
Indeed, and the idea of histogramming the signal is to estimate steady level and standard deviation so that a reasonable discriminator level minimizes false alarms and missed instabilities.

What do you mean for false alarms? False spikes?
 
  • #11
False alarm is noise that is interpreted as a signal. Undesirable. Missing a signal is a spike that is interpreted as noise; undesirable too. The measure of undesirableness determines where you want to cut.
By now it is interesting to know what you consider a signal. Does each and every spike (like at 42 s) represent a signal or do you want to detect a burst like from 27-- 40 s ?

A low-pass filter does not improve the signal to noise ratio, I would say.
And averaging over 10 s (also a kind of low-pass) seems pointless: what do you want to extract from that ?
Frequency analysis isn't all that effective either: signal spikes <--> high frequencies and there is no autocorrelation.

I repeat #4: there is a base level of some 1400 N with a fairly low noise level (< 1kN) . So a discriminator at e.g. 2 kN would do a good job in my opinion.

Are these two spikes signal for you , or are they noise ? And the smaller one on the left ?
upload_2016-4-22_10-37-37.png
 
  • Like
Likes Pepper Mint
  • #12
Hi BvU,

thanks for your reply. I think I haven't understand something.I believed burst was a synonym of spikes instead you mean for burst a spiky noise, right? In post #4 you spoke about a discriminator, you meant binning the force into intervals with of 2kN width? In that case, I made this plot:

untitled.jpg


I don't remember which is the testing condition of the plot above, so I recalculated everything. Here the baseline is almost zero. You can see the steep distribution that gradually goes down to the maximum value. Anyway, you're on right that the burst you isolated are suspicous but I cannot see what is going on when the plate is moving into the granular materia.
 
  • #13
Good. Just suppose: if the noise is Gaussian (parabola in your plot) and the signal is Poisson distributed (straight line in your plot) you can eliminate most of the noise (at a cost of missing some of the signal) with a discriminator level of 4 kN. How many grains you miss and how many false signals you get you can estimate.

Binning from 0 to 10 kN in intervals of 0.1 kN should give you a clearer view of the parabola.
 
  • #14
thanks BvU. So your idea might be to fit the distribution partially with a compound probability distribution? The boundary point between the two distributions will give me part of the histograms I have to cut?
 
  • #15
There's no 'having to'. It's a tradeoff between errors (saying 'signal' when it's noise and vice versa). The point you describe is geneeerally a good choice though: below there will be more noise than signal and above there will be more signal than noise.
 
  • #16
I think I have understood it, using this approach, any information of the signal in the time domain is lost, right? I found valuable to analyse the histogram of spike peaks. May I use the same approach for that?
Here the plot of the histogram:

untitled.jpg


Do you have any reference to suggest me for dealing with this kind of signals?
 
  • #17
I do notice the pictures in #3 and #12 show different features: the one in #3 has a base level with fairly symmetric noise. In #12 there seems to be no noise to distinguish; it almost looks as if the histogram data is not the signal shown directly above ?

The histogram in #16 has no scale. Also kN ? Very strange.

Don't know of a standard reference link. My tidbits of experience come from dealing with noisy data from continuous chemical processes, and (long ago) in high energy particle physics.
 
  • #18
Also in plot #12 there is a gaussian noise but the base level is much smaller than in #3, the average value is 3 kN with a range of +/-1kN. You cannot see it because it's really close to the abscissa. The histogram in #16 has the same scale, kN but it is reffered to another channel. Here the peak distribution of the signal #12

untitled.jpg
Thanks for the reference link. The only time I dealt with spiky signals was with signals coming from strain gauges but in that case, spikes are exceptions. Now spikes are part of the physics of the system.
 
  • #19
serbring said:
Here the peak distribution of the signal #12
I don't know how to interpret this. Are there 58 peaks with height 0 ?

I wrongly expected lower half of picture in #12 and picture in #18 to be identical -- but they are not because the one in #18 is after analysis and #12 is from the raw time samples ? What happened to the almost 1e5 occurrences of some 5 kN ? (Probably they are now part of a higher peak )
 
  • #20
In the abscissa, the force is indicated in intervals, and the interval width is 21 kN. The first interval is centered in 0 (it was a mistake, I was conviced the function needed bin edges instead of bin centers) and it includes all the peaks, from -10.5 up to 10.5.

In the calculation of spike peaks, I didn't count all the peaks with a prominence (difference between the peak and the base of spikes) lower than a 8. So you were right, the signal is related to raw data but the histograms is not.

Here you can see the histogram, of raw data and in the plots, the bin centers are [10, 30, 50...]. In this case I can the gaussian noise.

http://imgbox.com/9OZUHxDi
 
Last edited:

What is stationarity?

Stationarity is a property of a signal or time series data that means its statistical properties such as mean, variance, and autocorrelation do not change over time. This means that the signal has a constant mean and variance, and the relationship between data points at different time intervals is consistent.

Why is it important to check if a signal is stationary?

Checking for stationarity is important because many statistical methods and models assume that the data is stationary. If the data is non-stationary, these methods may not be applicable or may lead to incorrect conclusions. Therefore, it is crucial to ensure that a signal is stationary before applying any statistical analysis.

How can I check if a signal is stationary?

There are several methods for checking stationarity, including visual inspection of a plot of the data, statistical tests such as the Augmented Dickey-Fuller (ADF) test, and autocorrelation function (ACF) plots. These methods can help identify patterns and trends in the data that may indicate non-stationarity.

What are some common causes of non-stationarity in signals?

Some common causes of non-stationarity include trends, seasonality, and cycles in the data. Trends refer to a gradual change in the mean of the data over time, while seasonality refers to patterns that repeat at regular intervals. Cycles refer to patterns that occur at irregular intervals, such as economic or business cycles.

What should I do if my signal is non-stationary?

If your signal is found to be non-stationary, there are several techniques that can be used to make it stationary, such as differencing, detrending, or transforming the data. These techniques can help remove trends, seasonality, and other patterns from the data, allowing for the use of statistical methods and models that assume stationarity.

Suggested for: Checking if a signal is stationary

Back
Top