ComplexMultiplier
Discussion
Multi-input complex multiplier module. For single channel inputs, the corresponding samples in each input pin will be multiplied together. For multichannel inputs, the ONECHANNELOUTPUT argument determines whether all of the channels in each input will be multiplied together (ONECHANNELOUTPUT=1), or whether a given channel in one input will be multiplied by the corresponding channel in another input (ONECHANNELOUTPUT=0).
EXAMPLE:
ONECHANNELOUTPUT=1: outSample1 = inPin1Ch1Sample1 * inPin1Ch2Sample1 * inPin2Ch1Sample * inPin2Ch2Sample * etc.
ONECHANNELOUTPUT=0: outPin1Sample1 = inPin1Ch1Sample1 * inPin1Ch2Sample1 * inPin1Ch3Sample1 * etc. outPin2Sample1 = inPin2Ch1Sample1 * inPin2Ch2Sample1 * inPin2Ch3Sample1 * etc.
This module has been deprecated. Use the V2 version for enhanced functionality
Module Pack
Advanced
ClassID
classID = 1238
Type Definition
typedef struct _ModuleComplexMultiplier
{
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 oneChannelOutput; // Boolean value that determines whether all channels are multiplied to form a single output
} ModuleComplexMultiplierClass;
Variables
Properties
| Name | Type | Usage | isHidden | Default Value | Range | Units |
|---|---|---|---|---|---|---|
| oneChannelOutput | int | const | 0 | 0 | Unrestricted |
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 | out |
| Description | Audio output |
| Data Type | float |
Matlab Usage
File Name: complex_multiplier_module.m
M=complex_multiplier_module(NAME, NUMIN, ONECHANNELOUTPUT)
Creates a multi-input multiplier module for use in the Audio Weaver.
It perform two types of multiplications:
1. ComplexByComplex Multiplication
2. RealByComplex Multiplication
Arguments:
NAME - name of the module.
NUMIN - number of input pins
ONECHANNELOUTPUT - Boolean value which determines if multi-channel
input signals are collapsed to a single output channel.
Any one of the input pins is real and the remaining input pins are complex.
The output pin is always complex.
For Bypass test, The first input pin values are passed over to the output
pin. If the first input pin is real then the real values are copied to
the real part of the output and the imaginary values of the output pin
are made to zeroes.
If the output is multi-channel i.e., ONECHANNELOUTPUT=0, then the
condition that all the input pins must have the same number of
channels.This condition is taken care in th prebuild function.
If the output is single-channel i.e., ONECHANNELOUTPUT=1, then different
input pins can have different number of channels or same number of channels.
AudioWeaverModule [This tag makes it appear under awe_help]
Copyright (c) 2026 DSP Concepts, Inc.