Path: news.mathworks.com!newsfeed-00.mathworks.com!newsfeed2.dallas1.level3.net!news.level3.com!postnews.google.com!k79g2000hse.googlegroups.com!not-for-mail
From:  Rune Allnor <allnor@tele.ntnu.no>
Newsgroups: comp.soft-sys.matlab
Subject: Re: How to count number of spikes in a signal (related to noise)
Date: Wed, 03 Oct 2007 04:20:24 -0700
Organization: http://groups.google.com
Lines: 28
Message-ID: <1191410424.416173.299750@k79g2000hse.googlegroups.com>
References: <fdtm0l$hp2$1@fred.mathworks.com>
NNTP-Posting-Host: 212.17.141.54
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-Trace: posting.google.com 1191410424 21038 127.0.0.1 (3 Oct 2007 11:20:24 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Wed, 3 Oct 2007 11:20:24 +0000 (UTC)
In-Reply-To: <fdtm0l$hp2$1@fred.mathworks.com>
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727),gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: k79g2000hse.googlegroups.com; posting-host=212.17.141.54;
Xref: news.mathworks.com comp.soft-sys.matlab:431143



On 2 Okt, 16:53, "G.A.M. " <x0z...@gmail.com> wrote:
> I have a signal which, if no noise is present, looks roughly
> like a parabola y = -X.^2. (i.e., x squared)
>
> The ideal signal should be smooth like a parabola. However,
> with noise, there can be many jagged spikes in the signal.
>
> I would like to count the number of these spikes. This is
> part of my effort to quantify noise in the signal.
>
> Can anyone suggest a good option for counting the spikes in
> a signal (in a given range)?
>
> The jagged spikes (noise) can occur along the up and down
> slopes or near the top and they can sometimes be very large
> - even more than 50% of the amplitude of the parabola.
> Individual spikes are usually very narrow as well.

Without having seen any of your data, this is what I
would try first:

1) Differentiate the data twice. The result ought to
   be constant for a perfect parabola.
2) Search the double-diff'ed data for large
   deviations from this constant value.

Rune