|
CSI-DSP
Version 1.0.0
CSI DSP Software Library
|
Content | |
| 矩阵加法 | |
| 复数矩阵乘法 | |
| 矩阵初始化 | |
| 矩阵求逆 | |
| 矩阵乘法 | |
| 矩阵缩放 | |
| 矩阵减法 | |
| 矩阵转置 | |
这组函数提供了基本的矩阵操作。 函数以矩阵数据结构为操作描述矩阵。比如, 浮点矩阵数据结构体的类型定义如下:
typedef struct
{
uint16_t numRows; // 矩阵的行数
uint16_t numCols; // 矩阵的列数
float32_t *pData; // 指向矩阵的数据
} csky_matrix_instance_f32;
Q15和Q31矩阵的数据类型也类似。
矩阵结构体指定了矩阵的大小,也指定了矩阵的数据数组。数组的大小是 numRows X numCols ,数据按行顺序排列。就是说,矩阵的元素 (i, j) 保存在:
pData[i*numCols + j]
csky_mat_init_f32(), csky_mat_init_q31() 和 csky_mat_init_q15() 分别对应浮点,Q31和Q15类型。其中csky_matrix_instance_f32 S = {nRows, nColumns, pData};csky_matrix_instance_q31 S = {nRows, nColumns, pData};csky_matrix_instance_q15 S = {nRows, nColumns, pData};
nRows 指定行数, nColumns 指定列数, pData 指向数据数组。
CSKY_MATH_SIZE_MISMATCH
否则,函数返回
CSKY_MATH_SUCCESS
矩阵检查会有一些开销。 使能矩阵检查,通过在库工程设定里面定义 #define
CSKY_MATH_MATRIX_CHECK
这个宏默认存在定义,大小检查默认使能。 改变工程设定,不定义这个宏,禁止大小检查会让函数执行的快一点。 禁止大小检查的话,函数总是返回 CSKY_MATH_SUCCESS.