## 复数Complex Numbers
复数为成对的连续数据,其中偶数索引是实数输入,奇数索引是虚数输入。 传递给复杂DSPLib函数的长度是复杂数据对的数量,这意味着函数假设为复数据存储分配了两倍的长度。 下面是一个使用一些可用宏如何分配和引用复数数组的示例。
```
// 复数向量长度Complex vector length
#define CMPLX_VECTOR_LENGTH 64
// 复数数组Complex data arrays
_q15 src[CMPLX_VECTOR_LENGTH*2];
_q15 dst[CMPLX_VECTOR_LENGTH*2];
void myFunction(void)
{
_q15 *srcPtr;
uint16_t length;
msp_status status;
msp_cmplx_add_q15_params params;
//初始化Initialize source
srcPtr = src;
length = CMPLX_VECTOR_LENGTH;
while (length--)
{
CMPLX_REAL(srcPtr) = 0;
CMPLX_IMAG(srcPtr) = 0;
srcPtr += CMPLX_INCREMENT;
}
// Complex add: dst = src + src;
params.length= CMPLX_VECTOR_LENGTH;
status = msp_cmplx_add_q15(¶ms, src, src, dst);
return;
}
```
有关使用复数的更详细信息,请参阅下面使用复杂数据类型的代码示例。
* vector_ex2_complex_add_q15
* transform_ex2_cmplx_fft_auto_q15