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 );