1.4.2.6 DSP_ComplexScalarMult32 Function

Multiplies a complex number and a scalar number.

Description

void DSP_ComplexScalarMult32(int32c *indata, int32_t Scalar, int32c *Output);

Multiplies a complex number, indata, by a scalar number, Scalar, and stores the result in Output. indata and Output must be in int32c structure with real and imaginary components. All data must be in the fractional Q31 format. The function will saturate if maximum or minimum values are exceeded. Output(real) = (Input1.re * Scalar); Output(img) = i (a + bi) * C => (a * C + b * Ci)

Preconditions

Complex numbers must be in the int32c format.

Parameters

indata pointer to input complex number (int32c)

Scalar fractional scalar input value (int32_t)

Returns

pointer to result complex numbers (int32c)

Remarks

None.

Example

int32c *res, result;

int32c *input1;

int32_t scalarInput = 0x20000000; _// 0.25_

int32c test_complex_1 = {0x40000000,0x0CCCCCCC};

_// (0.5 + 0.1i)_

res=&result;

input1=&test_complex_1;

DSP_ComplexScalarMult32(input1, scalarInput, res);

_// result = {0x10000000, 0x03333333} = (0.125 + 0.025i)_

C

void  DSP_ComplexScalarMult32 (int32c * indata , int32_t Scalar , int32c * Output );