Document toolboxDocument toolbox

(8.D.2.1) ComplexModulate

Overview

This module accepts a real or complex input and generates a complex

Discussion

This module multiplies the input by the complex exponential exp(-j*2*pi*modBin*n/K) where modBin is an inspector parameter, K is the size of the input buffer (the FFT size) and n = 0:1:(K-1) is the sample number in the block. The only tunable parameter is modBin and K is taken from the wire size.

This module is usually used as part of frequency domain processing. The module effectively shifts the frequency spectrum right by 2*pi*modBin/K radians/sample. Alternatively, you can think of the modules as shifting by modBin FFT bins.

modBin is a floating-point value and can take on any real value including non-integer values. By default modBin = 0.25. The module supports real and complex inputs and always generates a complex output.

Type Definition

typedef struct _ModuleComplexModulate { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure FLOAT32 modBin; // Omega of modulation coefficient equation. FLOAT32* modCoeffs; // Modulation coefficient array } ModuleComplexModulateClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

modBin

float

parameter

0

0.25

Unrestricted

 

modCoeffs

float*

state

1

[32 x 1]

Unrestricted

 

Pins

Input Pins

Name: in

Description: Real or complex input

Data type: float

Channel range: 1

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real and Complex

Output Pins

Name: cmplx

Description: Complex result

Data type: float

MATLAB Usage

File Name: complex_modulate_module.m

M=complex_modulate_module(NAME) This module accepts a real or complex input and generates a complex output by multiplying input with exp(j*2*pi*modBin*n/N) Arguments: NAME - name of the module.

Â