当前位置: 代码迷 >> 单片机 >> 单片机数模转换输出正弦波的有关问题
  详细解决方案

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

热度:98   发布时间:2016-04-28 15:56:11.0
单片机数模转换输出正弦波的问题?
怎样计算正弦波?把正弦波的采样坐标点放到一个数组里,然后如何实现正弦波的输出?
下面有一个公式望各位大侠给菜鸟指导一下,谢谢!
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,任意的采样数都可以直接生成数组
------解决方案--------------------
这软件给我用下行不,谢谢![email protected]
------解决方案--------------------
探讨
2048,该是和它的DA的分辨率有关...因为sin计算的结果有负值,所以要加上一个偏移(2048),
它的DA有12-BIT,接受0-4095的输入数值...
  相关解决方案