OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7441|回复: 4

407下dsp库函数使用

[复制链接]

3

主题

6

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-1-14
在线时间
0 小时
发表于 2015-2-2 18:04:28 | 显示全部楼层 |阅读模式
5金钱
做ad采样实验,采完一个工频周期后算有效值进一步处理,在计算有效值时使用dsp库函数,dsp库设置什么的都是按照例程里面DSP测试实验里搭建dsp运行环境来的,没有什么改动。现在就是ad采样后在调试界面可以看到dma里数组的各个采样瞬时值,但是经过函数计算后没有返回有效值,计算有效值的函数如下:
[mw_shl_code=c,true]//对一个工频周期内的值求有效值 void Getrms(void) { u16 count; //for(i=0;i<M;i++) for(count=0;count<N;count++) { rmsvalue[count]=(1.5-(float)value[count]*(3.3/4095.0))*(2000.0/3.0); } arm_rms_f32(&rmsvalue[N],N,&afterrms); }[/mw_shl_code] [mw_shl_code=c,true][/mw_shl_code] [mw_shl_code=c,true][/mw_shl_code] [mw_shl_code=c,true]afterems一直都是0,不知道为什么,求助论坛各位大大,或者还有别的算电压有效值比较好的方法也可以指点一下[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

函数原型是 void arm_rms_f32(float32_t * pSrc , uint32_t blockSize , float32_t * pResult) pSrc应该是首地址 所以应该写成 arm_rms_f32(rmsvalue,N,&afterrms); 试试看 还有 你用了FPU 写成rmsvalue[count]=(1.5f-(float)value[count]*(3.3f/4095.0f))*(2000.0f/3.0f); 如果不加f 计算的时候按照double类型 是不会通过FPU计算的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

42

主题

358

帖子

0

精华

高级会员

Rank: 4

积分
889
金钱
889
注册时间
2014-8-16
在线时间
193 小时
发表于 2015-2-2 18:04:29 | 显示全部楼层
函数原型是
void arm_rms_f32(float32_t * pSrc , uint32_t blockSize , float32_t * pResult)
pSrc应该是首地址
所以应该写成
arm_rms_f32(rmsvalue,N,&afterrms);
试试看
还有 你用了FPU
写成rmsvalue[count]=(1.5f-(float)value[count]*(3.3f/4095.0f))*(2000.0f/3.0f);
如果不加f 计算的时候按照double类型 是不会通过FPU计算的
回复

使用道具 举报

6

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
305
金钱
305
注册时间
2014-3-24
在线时间
39 小时
发表于 2015-2-4 10:16:35 | 显示全部楼层
路过, 赞一个
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2015-2-4 14:29:36 | 显示全部楼层
是这样的,FPU是单精度的。
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

4

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2013-12-3
在线时间
0 小时
发表于 2015-2-5 15:16:06 | 显示全部楼层
mark,路过,赞一个
帮助别人就是帮助自己!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 17:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表