您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 第19章ARM官方DSP库的MatrixFunctions的使用(一)
安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第11页页共共1155页页第第1199章章MMaattrriixxFFuunnccttiioonnss的的使使用用((一一))本期教程主要讲解矩阵运算中的初始化,加法,逆矩阵和减法。19.1矩阵初始化MatInit19.2矩阵加法MatAdd19.3逆矩阵MatInverse19.4矩阵减法MatSub19.5总结1199..11矩矩阵阵初初始始化化MMaattIInniitt1199..11..11aarrmm__mmaatt__iinniitt__ff3322函数定义如下:voidarm_mat_init_f32(arm_matrix_instance_f32*S,uint16_tnRows,uint16_tnColumns,float32_t*pData)参数定义:[in,out]*Spointstoaninstanceofthefloating-pointmatrixstructure.[in]nRowsnumberofrowsinthematrix.[in]nColumnsnumberofcolumnsinthematrix.[in]*pDatapointstothematrixdataarray.注意事项:1.arm_matrix_instance_f32的结构体定义如下(在文件arm_math.h文件里面):typedefstruct{uint16_tnumRows;//numberofrowsofthematrix.uint16_tnumCols;//numberofcolumnsofthematrix.float32_t*pData;//pointstothedataofthematrix.}arm_matrix_instance_f32;安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第22页页共共1155页页1199..11..22aarrmm__mmaatt__iinniitt__qq3311函数定义如下:voidarm_mat_init_q31(arm_matrix_instance_q31*S,uint16_tnRows,uint16_tnColumns,q31_t*pData)参数定义:[in,out]*Spointstoaninstanceofthefloating-pointmatrixstructure.[in]nRowsnumberofrowsinthematrix.[in]nColumnsnumberofcolumnsinthematrix.[in]*pDatapointstothematrixdataarray.注意事项:1.arm_matrix_instance_q31的结构体定义如下(在文件arm_math.h文件里面):typedefstruct{uint16_tnumRows;//numberofrowsofthematrix.uint16_tnumCols;//numberofcolumnsofthematrix.q31_t*pData;//pointstothedataofthematrix.}arm_matrix_instance_q31;1199..11..33aarrmm__mmaatt__iinniitt__qq1155函数定义如下:voidarm_mat_init_q15(arm_matrix_instance_q15*S,uint16_tnRows,uint16_tnColumns,q15_t*pData)参数定义:[in,out]*Spointstoaninstanceofthefloating-pointmatrixstructure.[in]nRowsnumberofrowsinthematrix.[in]nColumnsnumberofcolumnsinthematrix.[in]*pDatapointstothematrixdataarray.注意事项:安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第33页页共共1155页页1.arm_matrix_instance_q15的结构体定义如下(在文件arm_math.h文件里面):typedefstruct{uint16_tnumRows;//numberofrowsofthematrix.uint16_tnumCols;//numberofcolumnsofthematrix.q15_t*pData;//pointstothedataofthematrix.}arm_matrix_instance_q15;1199..11..44实实例例讲讲解解实验目的:1.学习MatrixFunctions中矩阵的初始化实验内容:1.按下按键K1,串口打印函数DSP_MatInit的输出结果实验现象:通过窗口上位机软件SecureCRT(V5光盘里面有此软件)查看打印信息现象如下:程序设计:/***********************************************************************************************************函数名:DSP_MatInit*功能说明:矩阵数据初始化*形参:无安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第44页页共共1155页页*返回值:无**********************************************************************************************************/staticvoidDSP_MatInit(void){uint8_ti;/****浮点数数组******************************************************************/float32_tpDataA[9]={1.1f,1.1f,2.1f,2.1f,3.1f,3.1f,4.1f,4.1f,5.1f};arm_matrix_instance_f32pSrcA;//3行3列数据arm_matrix_instance_f32pDst;/****定点数Q31数组******************************************************************/q31_tpDataA1[9]={1,1,2,2,3,3,4,4,5};arm_matrix_instance_q31pSrcA1;//3行3列数据arm_matrix_instance_q31pDst1;/****定点数Q15数组******************************************************************/q15_tpDataA2[9]={1,1,2,2,3,3,4,4,5};arm_matrix_instance_q15pSrcA2;//3行3列数据arm_matrix_instance_q15pDst2;/****浮点数***********************************************************************/printf(****浮点数******************************************\r\n);arm_mat_init_f32(&pSrcA,3,3,pDataA);for(i=0;i9;i++){printf(pDataA[%d]=%f\r\n,i,pDataA[i]);}/****定点数Q31***********************************************************************/printf(****浮点数******************************************\r\n);arm_mat_init_q31(&pSrcA1,3,3,pDataA1);for(i=0;i9;i++){printf(pDataA1[%d]=%d\r\n,i,pDataA1[i]);}/****定点数Q15***********************************************************************/printf(****浮点数******************************************\r\n);arm_mat_init_q15(&pSrcA2,3,3,pDataA2);for(i=0;i9;i++){printf(pDataA2[%d]=%d\r\n,i,pDataA2[i]);}}1199..22矩矩阵阵加加法法MMaattAAdddd1199..22..22aarrmm__mmaatt__aadddd__ff3322公式描述(以3*3矩阵为例进行说明):安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第55页页共共1155页页函数定义如下:arm_statusarm_mat_add_f32(constarm_matrix_instance_f32*pSrcA,constarm_matrix_instance_f32*pSrcB,arm_matrix_instance_f32*pDst)参数定义:[in]*pSrcApointstothefirstinputmatrixstructure[in]*pSrcBpointstothesecondinputmatrixstructure[out]*pDstpointstooutputmatrixstructurereturnThefunctionreturnseither注意事项:1.pSrcA,pSrcB,pDst的行数和列数必须是相同的,要不没有办法使用加法运行。2.矩阵在数组中的存储是从左到右,再从上到下。1199..22..33aarrmm__mmaatt__aadddd__qq3311函数定义如下:arm_statusarm_mat_add_q31(constarm_matrix_instance_q31*pSrcA,constarm_matrix_instance_q31*pSrcB,arm_matrix_instance_q31*pDst)参数定义:[in]*pSrcApointstothefirstinputmatrixstructure[in]*pSrcBpointstothesecondinputmatrixstructure[out]*pDstpointstooutputmatrixstructurereturnThefunctionreturnseither注意事项:1.pSrcA,pSrcB,pDst的行数和列数必须是相同的,要不没有办法使用加法运行。2.矩阵在数组中的存储是从左到右,再从上到下。1199..22..44aarrmm__mmaatt__aadddd__qq1155函数定义如下:arm_statusarm_
本文标题:第19章ARM官方DSP库的MatrixFunctions的使用(一)
链接地址:https://www.777doc.com/doc-5071987 .html