Skip to main content
Skip table of contents

ComplexMultiplierV2

Overview

Multi-input complex multiplier

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.

For ONECHANNELOUTPUT=0 all the input pins must have the same channel count except for the special case where there are exactly two input pins. If exactly two input pins the first pin can have a single channel in which case all the channels samples in the second pin are multiplied by the sample in the first pin.

Type Definition

CODE
typedef struct _ModuleComplexMultiplierV2
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    INT32 oneChannelOutput;                       // Boolean value that determines whether all channels are multiplied to form a single output
} ModuleComplexMultiplierV2Class;

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_v2_module.m

CODE
 M=complex_multiplier_v2_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]

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.