Home

zerocrossings

Zerocrossings are the instants at which a signal changes sign, crossing the value zero. In a continuous-time signal x(t), a zerocrossing occurs at times t such that x(t) = 0. In a discrete-time signal x[n], zerocrossings are identified where consecutive samples have opposite signs or where a sample exactly equals zero. For a pure sinusoid, zerocrossings occur twice per period, spaced by half a cycle, assuming no DC offset or noise.

A common derived feature is the zero-crossing rate (ZCR), which counts the number of sign changes between

Detection and analysis often require preprocessing. Removing DC offset and filtering to reduce noise can prevent

Limitations include sensitivity to noise, DC bias, and waveform shape; zero-crossings do not uniquely determine frequency

consecutive
samples
within
a
frame
and
normalizes
by
the
frame
length.
ZCR
provides
a
coarse
indication
of
a
signal’s
frequency
content
and
is
used
in
tasks
such
as
voicing
detection
in
speech,
music
onset
detection,
and
simple
pitch
or
tempo
estimation.
In
practice,
sign
changes
are
usually
computed
with
sign(x[n])
≠
sign(x[n−1]),
with
special
handling
when
samples
are
exactly
zero.
spurious
zero-crossings.
Sub-sample
timing
can
be
estimated
by
linear
interpolation
around
the
crossing,
improving
accuracy
for
timing-based
applications.
Noise
and
high-frequency
components
can
inflate
ZCR
and
degrade
reliability,
so
ZCR
is
typically
used
in
combination
with
other
features.
content
for
complex
signals.
Variants
include
replacing
the
zero
threshold
with
a
small
positive/negative
level
or
using
crossing-rate
with
slope
constraints
to
improve
robustness.