Checking if a signal is stationary

  • #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
 

Answers and Replies

  • #2
BvU
Science Advisor
Homework Helper
2019 Award
13,523
3,247
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
269
2
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
BvU
Science Advisor
Homework Helper
2019 Award
13,523
3,247
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
269
2
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
BvU
Science Advisor
Homework Helper
2019 Award
13,523
3,247
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
Nidum
Science Advisor
Gold Member
2,990
848
Consider doing your analysis in the frequency domain rather than the time domain .
 
  • #8
CWatters
Science Advisor
Homework Helper
Gold Member
10,529
2,297
As I understand it a stationary signal has constant statistical properties such as a constant standard deviation.
 
  • #9
BvU
Science Advisor
Homework Helper
2019 Award
13,523
3,247
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
269
2
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.

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.


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.

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
BvU
Science Advisor
Homework Helper
2019 Award
13,523
3,247
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
269
2
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
BvU
Science Advisor
Homework Helper
2019 Award
13,523
3,247
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
269
2
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
BvU
Science Advisor
Homework Helper
2019 Award
13,523
3,247
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
269
2
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
BvU
Science Advisor
Homework Helper
2019 Award
13,523
3,247
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
269
2
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
BvU
Science Advisor
Homework Helper
2019 Award
13,523
3,247
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
269
2
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:

Related Threads on Checking if a signal is stationary

  • Last Post
Replies
2
Views
3K
  • Last Post
Replies
3
Views
10K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
5
Views
7K
  • Last Post
Replies
4
Views
1K
Replies
15
Views
26K
  • Last Post
Replies
16
Views
1K
  • Last Post
Replies
2
Views
1K
Replies
5
Views
11K
Top