Document toolboxDocument toolbox

CorrelationFract32

Overview

Computes the zero-lag cross correlation

Discussion

This module calculates the cross correlation of 2 single-channel inputs. The calcuation is block based and the module outputs a single value which is the correlation for the block of input data. The cross correlation is without time lag. The formula is:

-----------------------------------------------

norm(in1,NORM_TYPE) * norm(in2,NORM_TYPE)

NORM_TYPE (Tunable parameter) chooses between L1 norm or L2 norm. L1 norm is the Manhattan distance of a vector. L2 norm (Euclidean) is the Pythagorean distance of a vector.

Type Definition

typedef struct _ModuleCorrelationFract32 { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure INT32 norm; // Type of norm: L1_norm=1, L2_norm=2 } ModuleCorrelationFract32Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

norm

int

parameter

0

2

1:2

 

Pins

Input Pins

Name: in1

Description: Signal input 1

Data type: fract32

Channel range: 1

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

 

Name: in2

Description: Signal input 2

Data type: fract32

Channel range: 1

Block size range: Unrestricted

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: xcorrelation value

Data type: fract32

MATLAB Usage

File Name: correlation_fract32_module.m

M=correlation_fract32_module(NAME) This module calculates the cross correlation of 2 single-channel inputs. The cross correlation is without time lag. The formula is: ----------------------------------------------- norm(in1,NORM_TYPE) * norm(in2,NORM_TYPE) NORM_TYPE (Tunable parameter) chooses between L1 norm or L2 norm. L1 norm is the 'manhattan' distance of a vector L2 norm (Euclidean) is the Pythagorean distance of a vector Arguments: NAME - name of the module.

Â