首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

单片机数模转换输出正弦波的有关问题

2012-05-29 
单片机数模转换输出正弦波的问题?怎样计算正弦波?把正弦波的采样坐标点放到一个数组里,然后如何实现正弦波

单片机数模转换输出正弦波的问题?
怎样计算正弦波?把正弦波的采样坐标点放到一个数组里,然后如何实现正弦波的输出?
下面有一个公式望各位大侠给菜鸟指导一下,谢谢!
y=sin(3.1415*2*i/256)*2048+2048(注:256为数组的大小)
请问2048是什么意思?为什么要乘上它?麻烦给菜鸟解释一下这个公式。

[解决办法]
2048,该是和它的DA的分辨率有关...因为sin计算的结果有负值,所以要加上一个偏移(2048),
它的DA有12-BIT,接受0-4095的输入数值...
[解决办法]
y=sin(3.1415*2*i/256)*2048+2048
一般按这个公式把i从0到255对应的值计算出来存放到一个表里面,然后在Timer中断里面把这个表里面的数值依次送给DA,DA的输出就是sin波形了.
[解决办法]
我直接做了一个软件,专门算正弦波,方波的查找表的。任意位数的da,任意的采样数都可以直接生成数组
[解决办法]
这软件给我用下行不,谢谢!yanhuoyuan8812@yahoo.cn
[解决办法]

探讨
2048,该是和它的DA的分辨率有关...因为sin计算的结果有负值,所以要加上一个偏移(2048),
它的DA有12-BIT,接受0-4095的输入数值...

热点排行