关于FPGA实现DDS中DA的选型

523335234   2011-4-5 00:11 楼主
我要做一个信号发生器,用FPGA实现DDS部分,现在我比较疑惑的是: 比如说我要输出频率为100K的正弦波, 我的ROM中存有1024个点,那如果这样的话,我的DA转换速度就要达到100K*1024,才能得到一个完整的波形,那DA的转换速度大约到了100M。  做个100K的正弦波,就得那么高速的DA,晕啊。 一定是我理解错误了吧?,哪位热心的朋友给我解释一下输出波形频率与DA的转换速度选型的关系啊,谢谢了。 也可以加我的QQ523335234.

回复评论 (16)

回复 楼主 523335234 的帖子

我怎么感觉也没有错,你看能不能通过降低单周期里的采样点数来降低频率
科技应该让生活变得更简单!
点赞  2011-4-5 10:44
你的理解确实错了
点赞  2011-4-5 11:09

回复 沙发 wenhuawu 的帖子

降低到256点 那也还是低了4倍 , 还是得20M左右的DA。。
点赞  2011-4-5 11:56

回复 板凳 mubiao 的帖子

求正解!
点赞  2011-4-5 11:57
几个点都可以吧?              反正后面有滤波
点赞  2011-4-5 12:20
相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。
ROM中的点是频率越高时,取到的点越少。因为当频率字很大时,累加器的溢出频率就越高,ROM取点之间的间隔就会越大。但只要满足取样定律,也就是说一个周期内,取的点数大于两个(一般要大于4个),就能经过滤波恢复成一个波形。

这是我综合书本和大家的意见得到的理解。 大家请指正。谢谢。
点赞  2011-4-5 12:33
那样算没有错,不过不要以100KHz的信号是个低频信号,已经不算低了。得看你对信号质量要求如何,如果要求得不高完全可以取较少的点,用转换频率较低的AD芯片来完成你的任务;否则,那就得用速度高的AD芯片。想一想便知,再怎么低,你也得保证两个点之间的输出时间差要大于AD芯片的最低响应时间。
快乐是一天,不快乐也是一天,为什么不天天快乐呢
点赞  2011-4-5 20:08

楼主正解! 其实做DDS, 不一定非要AD. 可以有其他方案. 比如SPWM调制生成正弦波,然后加滤波器,同样可以达到目的.

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2011-4-6 08:14
并不是输出一个完整的波形就需要1024个点
点赞  2011-4-6 20:04
两个点不就可以?

那个采样定理对da也适用
点赞  2011-4-6 21:47
我要做一个信号发生器,用FPGA实现DDS部分,现在我比较疑惑的是: 比如说我要输出频率为100K的正弦波, 我的ROM中存有1024个点,那如果这样的话,我的DA转换速度就要达到100K*1024,才能得到一个完整的波形,那DA的转换速度大约到了 100M。 做个100K的正弦波,就得那么高速的DA,晕啊。 一定是我理解错误了吧?,哪位热心的朋友给我解释一下输出波形频率与DA的转换速度选型的关系啊,谢谢了。 也可以加我的QQ523335234.


您存1024个点在rom中,这1024是一个周期,还是1/4个周期?
学习的乐趣在于分享。
点赞  2011-4-6 23:43

回复 12楼 tx_xy 的帖子

一个周期。我选择的数据位宽是10位。2的10次方刚好1024
点赞  2011-4-7 01:36
呵呵
点赞  2011-11-28 18:08
用IP直接做,理论上2X过采即可,我们经常使用2.5X过采的,如果考虑模拟部分设计,可适当提高,但是采样率4X足以。
点赞  2011-11-30 15:47
我现在也在做这个,我选的相位累加器位数为16位,这样我设定rom的点数为65536个点,打算通过da输出1m以内的频率,其实DA的转换频率输入只需取相位累加器的基准频率即可。我是用的DAC900E芯片,速度可达100多M,你可以参考一下
点赞  2013-12-24 01:17

17楼 navalguy 该用户已被删除

提示: 作者被禁止或删除 内容自动屏蔽
点赞  2013-12-29 10:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复