单片机我直接中断产生方波才30多K根本就不够用,更别提查表产生正弦波三角波了,就一个波形数据表都没法算,几百万个频点,MATLAB都算不过来,哪位大神给个好方法,都头疼好几天了
请问,单片机如何产生200K?看电子竞赛书,他说DDS存数据表产生,从表里间隔取点实现调频,但是数据表怎么算?没法搞啊,求大神赐教方法啊
怎么存?查表法就是直接存结果啊,只不过是一些离散的频点,取出来以后就是模拟波形啊
你先说说你的要求,调不调幅变不变频,精度要求和范围.
不变频不调幅的方案就方波滤波好了,DDS是另外思路和单片机关系不大了.
本帖最后由 huo_hu 于 2014-8-30 16:27 编辑
象楼上所说,要求具体一些地好。
用单片机产生,可以将正弦波表存于存储器中,为了取出方便,可以使用128、512、1024等这些使用与操作即可处理地址的方法。会更快一些,因为单片机判断转移指令需要的时间长。
如果没有特殊要求,象楼上所说的,产生方波后滤波也是很好的办法。
MCU产生正弦波适宜采用方波滤波法,严格的正弦波应该采用频率合成芯片,MCU只是做控制用。特殊场合必须用软件产生的话,换用DSP。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
1. 如果固定频率 , 且使用的是cm3, 可以使用DAC功能 + DMA方式--> 可以很省心
2. 如果对波形质量要求不高, 可以使用方波(脉冲) + RC滤波方式
3. 如果有频率及波形质量都有要求,可以考虑使用DSP