DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

SPIKES

Say i have 8 channels. Of those 5 channels have spikes all over them. The spikes are well spread thru out the channel in a very random fashion. I need to take these spikes out of the data. Is there a fast, efficient way to do that? Please let me know. Thanks SA
0 Kudos
Message 1 of 8
(4,382 Views)
Hello,
this question is difficult to answer because I don't have an image of the data you are talking about. If the spikes are all higher in amplitude than the rest of the signal you could work with a formula like this (call it from the calculator):
ch(5):= (ch(5)>10)*Novalue +ch(5).
This would edit channel 5, replacing each value that is higher than 10 with a novalue. If you choose to close those gaps later on, you can use one of the Novalue functiuns you find within the module Analysis.
If your paeks are not that distinct you should try to remove them by smoothing, approximation, regression or filtering. It all depends very much on the signal you have.

Ingo Schumacher
National Instruments
0 Kudos
Message 2 of 8
(4,382 Views)
Hi SA,
In general you can eliminate such spikes by using NOVALUES. NOVALUES are "marker" for "wrong" values without loosing the time stamp.

The problem is to find an algorithm which is able to locate the spikes - and sometimes it is impossible or too much effort, than you must eliminate them interactively.

For both you can find solutions in DIAdem. One example to automate this is "Searching for Outliers with the Peak Search Function". Or you can define an expression for VBS like

call formulacalc("ch('Eliminate') := (ch('Spike') < 5) * ch('Spike') + ch('Spike') >= 5) *NOVALUE)

This expression is very quick and efficient to set NOVALUE for all values which are grater than 5.

Interactive you have two possibilities: change the value by hand (just write NOVALUE
for it) or use in DIADEM VIEW the icon "Delete data points" in revision 9 or "Areadel" in revision 8.x.

I hope this info will help you.

Greetings

Walter Rick
0 Kudos
Message 3 of 8
(4,382 Views)
Thanks a lot for the responses! I tried the methods above but i didnt get the result i wanted. Hopefully you can look at the attached file and see what i mean. I am going to attach a zip file with one spiky channel and the time channel. If you plot the time vs spiky channel you will see what i mean. Thanks a ton!
0 Kudos
Message 4 of 8
(4,382 Views)
Hi mge,

I agree that it's difficult to give you an accurate answer without knowing more about your data, but an alternative to a threshold analysis would be a digital filter. If the other features in your signal happen on a much slower time scale than your spikes, that is, if the spikes are very thin, and if you have a reasonable density of points in your X-axis channel, then a digital filter could work very nicely.

If you have questions or need further ideas, let us know,
Brad Turpin
DIAdem Product Support Engineer
National Instruments
0 Kudos
Message 5 of 8
(4,382 Views)
Hi,

I've had a look at your file. In this case Brad's suggestion is the solution for this spike problem. Find attched the sttings for the digital filter in DIAdem and a small report with the original curve and the filter result.

I hope this will help you

Greetings

Walter Rick
Download All
0 Kudos
Message 6 of 8
(4,382 Views)
Thanks a lot! It seems to work for me. Perfect!
0 Kudos
Message 7 of 8
(4,382 Views)
Hi mga,

please search for "spikeex" in this forum.
There are some other ideas to kill spikes without "smothing" your signal.
0 Kudos
Message 8 of 8
(4,382 Views)