完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
转dsp系列教程
本期教程主要讲解控制函数中的cos和sin函数数值的获取,这里使用的函数比起第10章中使用的sin和cos函数数值的获取要方便很多。 16.1 浮点数SIN和COS 16.2 定点数SIN和COS 16.3 Clark正变换和逆变换 16.4 Park正变换和逆变换 16.5 总结 16.1 浮点数SIN和COS 16.1.1 arm_sin_cos_f32 函数定义如下: void arm_sin_cos_f32(float32_t theta, float32_t * pSinVal, float32_t * pCosVal) 参数定义: [in] theta input value in degrees [out] *pSinVal points to the processed sine output. [out] *pCosVal points to the processed cos output. 注意事项: 1. 参数theta的单位是角度。这里输入角度-180到179就能得到一个周期的正弦或者余弦数值。 |
|
相关推荐
|
|
16.1.2 实例讲解
实验目的: 1. 学习ControllerFunctions中SIN和COS的求解 实验内容: 1. 按下按键K1, 串口打印函数DSP_SIN_COS的输出结果 实验现象: 通过窗口上位机软件SecureCRT(V5光盘里面有此软件)查看打印信息现象如下: |
|
|
|
|
|
程序设计:
复制代码 /* ********************************************************************************************************* * 函 数 名: DSP_SIN_COS * 功能说明: 浮点数cos和sin计算 * 形 参:无 * 返 回 值: 无 ********************************************************************************************************* */ static void DSP_SIN_COS(void) { int16_t i; float32_t pSinVal; float32_t pCosVal; for(i = -180; i < 180; i++) { arm_sin_cos_f32(i, &pSinVal, &pCosVal); (1) printf("i = %d pSinVal = %f pCosVal = %frn", i, pSinVal, pCosVal); // printf("%frn", pSinVal); (2) // printf("%frn", pCosVal); (3) } } |
|
|
|
|
|
1. sin和cos数据的求解。
2. 通过matlab绘制sin函数的输出数据的曲线(绘制方法见第10章的10.4小节) |
|
|
|
|
|
16.2 定点数SIN和COS
16.2.1 arm_sin_cos_q31 函数定义如下: void arm_sin_cos_q31(q31_t theta, q31_t * pSinVal, q31_t * pCosVal) 参数定义: [in] theta input value in degrees [out] *pSinVal points to the processed sine output. [out] *pCosVal points to the processed cos output. 注意事项: 1. 参数theta的单位是角度。这里输入角度 -2^31 ~ 2^31-1 就能得到一个周期的正弦或者余弦数值。 |
|
|
|
|
|
16.2.2 实例讲解
实验目的: 1. 学习ControllerFunctions中SIN和COS的求解 实验内容: 1. 按下按键K2, 串口打印函数DSP_SIN_COS的输出结果 实验现象: 通过窗口上位机软件SecureCRT(V5光盘里面有此软件)查看打印信息现象如下: |
|
|
|
|
|
程序设计:
复制代码 /* ********************************************************************************************************* * 函 数 名: DSP_SIN_COS_Q31 * 功能说明: 定点数cos和sin计算 * 形 参:无 * 返 回 值: 无 ********************************************************************************************************* */ static void DSP_SIN_COS_Q31(void) { int16_t i; q31_t pSinVal; q31_t pCosVal; for(i = -256; i < 256; i++) { arm_sin_cos_q31(i*8388608, &pSinVal, &pCosVal); (1) printf("i = %d pSinVal = %d pCosVal = %drn", i, pSinVal, pCosVal); // printf("%drn", pSinVal); (2) // printf("%drn", pCosVal); (3) } } |
|
|
|
|
|
1. sin和cos数据的求解。
2. 通过matlab绘制sin函数的输出数据的曲线(绘制方法见第10章的10.4小节) |
|
|
|
|
|
16.3 Clarke 正变换和逆变换
暂时没有研究,留待以后解决。 16.4 Park 正变换和逆变换 暂时没有研究,留待以后解决。 16.5 总结 本期教程就跟大家讲这么多,有兴趣的可以深入研究下算法的实现。 |
|
|
|
|
|
1244 浏览 0 评论
零知经验——STM32F4驱动ICM20948 九轴运动传感器 + VOFA上位机可视化验证与抗漂移优化
1509 浏览 0 评论
1124 浏览 0 评论
1165 浏览 0 评论
零知开源——STM32F4驱动MAX31865实现PT100高精度测温
3860 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
13457 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-6-23 15:12 , Processed in 0.612747 second(s), Total 51, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191