完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
RT,类似于正弦函数的查找表这么实现?
现在想做一个查找表的功能,先将表格烧写到外部flash,然后采集外设数据,然后去调用flash里表格,将该数据对应的数据输出,比如表格里 1--A 2--B 3--C 想做个函数,输入1,得到A ,输入2,得到B, 类似F(1)=A F(2)=B |
|
相关推荐
11个回答
|
|
对一个周期取样256次,也就是说第0个取样点的弧度是0,那么第一个取样点的弧度值就是pi/128,第二个取样点的弧度为(pi/128)*2,依次类推
|
|
|
|
本帖最后由 toofree 于 2018-4-9 16:01 编辑
是不会建正弦波的表呢,还是不知道怎么用呢? 想表套表都可以。 const float fa[4]={1.0,11.0,111.0,1111.0}; const unsiged int ub[4] = {2,1,3,0}; unsiged int i; float prt; for (i=0;i<4;i++) { prt = fa[ ub[ i ] ]; printf("%f, ", prt ); } |
|
|
|
查表法啊,不就是把聚会范围内的值都计算出结果,然后存储到表中,用的时候直接取运算结果 ,可以节省一些CPU时间。。。前提是,要把函数先写好了
|
|
|
|
有现成的函数可以调用的
|
|
|
|
谢谢哈,已经搞定了 |
|
|
|
|
|
|
|
可以用excel,拖一下就有了。
|
|
|
|
已经解决,主要思路是根据采集的数据计算对应数据的地址偏移量,然后将表格的基地址+地址偏移量得到对应的数据即可
|
|
|
|
给地址读出数据就行你想读出表的第几个数,就把这个当做地址就行,如果你一个数占用了两个字节,那就把每次取数的地址左移一位
|
|
|
|
给地址读出数据就行你想读出表的第几个数,就把这个当做地址就行,如果你一个数占用了两个字节,那就把每次取数的地址左移一位
|
|
|
|
正弦余弦函数有一点特殊:你的查找表只需要 1/4 个周期(0 到 pi/2)就够了,内容是正弦函数值的绝对值。诱导公式允许正弦函数和余弦函数合并,时间换空间处理:输入数据先套公式(除余一次,减法最多四次)得到 0 到 pi/2 范围的正弦和结果的符号。查表得到绝对值,补上符号就是正弦值。时间换空间再激进一点查找表都可以省了,在 0 到 pi/2 范围内用的正弦函数直接用一个 pi/3 或 pi/4 处的若干次泰勒展开代替。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
881 浏览 0 评论
国产NSI1300D05-DSWVR放大芯片放大增益8.2或41的问题
895 浏览 0 评论
STM32串口接受中断使用C++STL中的queue导致所有中断失效
8670 浏览 1 评论
3394 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1379 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-24 14:05 , Processed in 0.895067 second(s), Total 62, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191