Skip to content

ZeroCrossingDetectorFract32

Overview

Zero crossing detector

Discussion

Multichannel zero-crossing detector, running at the sampling rate. The module outputs a 1.0 whenever a zero crossing is detected and 0.0 otherwise. The detectorType parameter controls the behavior of the detector.

If detectorType == 0, then all zero crossing are detected. If detectorType > 0, then only positive transitions (negative->positive) are detected. If detectorType < 0, then only negative transitions (positive->negative) are detected.

Module Pack

Standard

ClassID

classID = 217

Type Definition

typedef struct _ModuleZeroCrossingDetectorFract32
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
INT32 detectorType;                           // Determines which zero crossings are detected.  0=all, >0 negative->positive, <0 positive->negative
INT32* lastSign;                              // Holds the sign of the last input value.  This is an array so that multiple channels can be supported.
} ModuleZeroCrossingDetectorFract32Class;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
detectorType int parameter 0 0 -1:1
lastSign int* state 1 [1 x 1] Unrestricted

Pins

Input Pins

Name in
Description audio input
Data type fract32
Channel range Unrestricted
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Real

Output Pins

Name out
Description audio output
Data Type fract32

Matlab Usage

File Name: zero_cross_detector_fract32_module.m 
 M=zero_cross_detector_fract32_module(NAME) 
 Creates a zero crossing detector module for use in the Audio Weaver. 
 The module has a single multichannel input pin and a single output 
 pin of the same size as the input pin.  The module outputs a 1.0 
 whenever a zero crossing is detected and 0.0 otherwise. 
 Arguments: 
    NAME - name of the module. 

 The .detectorType field of the instance structure controls the 
 behavior of the detector. 
 If detectorType == 0, then all zero crossing are detected. 
 If detectorType > 0, then only positive transitions (negative->positive) are detected. 
 If detectorType < 0, then only negative transitions (positive->negative) are detected. 

Copyright (c) 2026 DSP Concepts, Inc.