安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第11页页共共66页页第第1166章章CCoonnttrroolllleerrFFuunnccttiioonnss的的使使用用((二二))本期教程主要讲解控制函数中的cos和sin函数数值的获取,这里使用的函数比起第10章中使用的sin和cos函数数值的获取要方便很多。16.1浮点数SIN和COS16.2定点数SIN和COS16.3Clark正变换和逆变换16.4Park正变换和逆变换16.5总结1166..11浮浮点点数数SSIINN和和CCOOSS1166..11..11aarrmm__ssiinn__ccooss__ff3322函数定义如下:voidarm_sin_cos_f32(float32_ttheta,float32_t*pSinVal,float32_t*pCosVal)参数定义:[in]thetainputvalueindegrees[out]*pSinValpointstotheprocessedsineoutput.[out]*pCosValpointstotheprocessedcosoutput.注意事项:1.参数theta的单位是角度。这里输入角度-180到179就能得到一个周期的正弦或者余弦数值。1166..11..22实实例例讲讲解解实验目的:1.学习ControllerFunctions中SIN和COS的求解实验内容:1.按下按键K1,串口打印函数DSP_SIN_COS的输出结果实验现象:通过窗口上位机软件SecureCRT(V5光盘里面有此软件)查看打印信息现象如下:安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第22页页共共66页页程序设计:/***********************************************************************************************************函数名:DSP_SIN_COS*功能说明:浮点数cos和sin计算*形参:无*返回值:无**********************************************************************************************************/staticvoidDSP_SIN_COS(void){int16_ti;float32_tpSinVal;float32_tpCosVal;for(i=-180;i180;i++){arm_sin_cos_f32(i,&pSinVal,&pCosVal);(1)printf(i=%dpSinVal=%fpCosVal=%f\r\n,i,pSinVal,pCosVal);//printf(%f\r\n,pSinVal);(2)//printf(%f\r\n,pCosVal);(3)}}1.sin和cos数据的求解。2.通过matlab绘制sin函数的输出数据的曲线(绘制方法见第10章的10.4小节)安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第33页页共共66页页3.通过matlab绘制cos函数的输出数据的曲线(绘制方法见第10章的10.4小节)050100150200250300350400-1-0.8-0.6-0.4-0.200.20.40.60.81050100150200250300350400-1-0.8-0.6-0.4-0.200.20.40.60.81安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第44页页共共66页页1166..22定定点点数数SSIINN和和CCOOSS1166..22..22aarrmm__ssiinn__ccooss__qq3311函数定义如下:voidarm_sin_cos_q31(q31_ttheta,q31_t*pSinVal,q31_t*pCosVal)参数定义:[in]thetainputvalueindegrees[out]*pSinValpointstotheprocessedsineoutput.[out]*pCosValpointstotheprocessedcosoutput.注意事项:1.参数theta的单位是角度。这里输入角度-2^31~2^31-1就能得到一个周期的正弦或者余弦数值。1166..22..33实实例例讲讲解解实验目的:1.学习ControllerFunctions中SIN和COS的求解实验内容:1.按下按键K2,串口打印函数DSP_SIN_COS的输出结果实验现象:通过窗口上位机软件SecureCRT(V5光盘里面有此软件)查看打印信息现象如下:安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第55页页共共66页页程序设计:/***********************************************************************************************************函数名:DSP_SIN_COS_Q31*功能说明:定点数cos和sin计算*形参:无*返回值:无**********************************************************************************************************/staticvoidDSP_SIN_COS_Q31(void){int16_ti;q31_tpSinVal;q31_tpCosVal;for(i=-256;i256;i++){arm_sin_cos_q31(i*8388608,&pSinVal,&pCosVal);(1)printf(i=%dpSinVal=%dpCosVal=%d\r\n,i,pSinVal,pCosVal);//printf(%d\r\n,pSinVal);(2)//printf(%d\r\n,pCosVal);(3)}}1.sin和cos数据的求解。2.通过matlab绘制sin函数的输出数据的曲线(绘制方法见第10章的10.4小节)3.通过matlab绘制cos函数的输出数据的曲线(绘制方法见第10章的10.4小节)0100200300400500600-2.5-2-1.5-1-0.500.511.522.5x109安安富富莱莱UUMM440033DDSSPP教教程程SSTTMM3322--VV55开开发发板板系系统统篇篇手手册册22001155年年0011月月1155日日版版本本::11..00第第66页页共共66页页1166..33CCllaarrkkee正正变变换换和和逆逆变变换换暂时没有研究,留待以后解决。1166..44PPaarrkk正正变变换换和和逆逆变变换换暂时没有研究,留待以后解决。1166..55总总结结本期教程就跟大家讲这么多,有兴趣的可以深入研究下算法的实现。0100200300400500600-2.5-2-1.5-1-0.500.511.522.5x109