SumDiff
Overview
Computes the sum and difference of two signals
Discussion
This module has 2 input pins and 2 output pins. Input pins must have same block size, number of channels, and sample rate. Output pins have same block size, number of channels, and sample rate as input pins.
Output1=(Input1+Input2)/2, Output2=(Input1-Input2)/2.
Note that if we cascade 2 of these modules then outputs of 2nd module are equal to inputs of first module scaled by 0.5.
Module Pack
Standard
ClassID
classID = 68
Type Definition
typedef struct _ModuleSumDiff
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
} ModuleSumDiffClass;
Pins
Input Pins
| Name | in1 |
| Description | Audio input |
| Data type | float |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real and Complex |
| Name | in2 |
| Description | Audio input |
| Data type | float |
| Channel range | Unrestricted |
| Block size range | Unrestricted |
| Sample rate range | Unrestricted |
| Complex support | Real and Complex |
Output Pins
| Name | out1 |
| Description | Audio output |
| Data Type | float |
| Name | out2 |
| Description | Audio output |
| Data Type | float |
Matlab Usage
File Name: sum_diff_module.m
M=sum_diff_module(NAME)
Creates a sum/difference module for use with the Audio Weaver
environment.
Arguments:
NAME - name of the module.
Copyright (c) 2026 DSP Concepts, Inc.