[quote=小比尔/5]大概是因为大家看问题的角度不同吧,因为我的模型是从硬件来的,所以有些东西就拿硬件来做类比。另外有些名词也不知道用什么比较好,就随便写了。
像我最初做了硬件,然后用虚拟仪器测量结果,bd1es引出了仿真,大家一起写程序,一异说到了改进结构。我觉得这个讨论挺好的。

[/quote]
是的。说实话起初我玩dds的时候以为这东西挺简单的,不就是个加法器嘛。可是后来做了avr的dds后大失所望,不知道信号为什么那么乱。后来搂主提问方波dds,我也简单阐述了dds的原理,但还是说不清方波dds与正弦波dds过零比较再形成方波,这之间到底差别多少,于是就想起了仿真。一仿不得了,发现所谓方波dds根本不能用,现在更严格说应该是1bit dds

。
但我还是没搞清avr dds为什么信号质量不佳。直到这两天进一步仿真才知道是波表质量太差造成的,那个波表是256字节乘8位的,连40db的信噪比都没有,自然觉得乱了。这个avr dds的案例应该还能在网上查到,是一个叫j什么什么的老外做的。程序是汇编的,dds累加器字长24比特,波表深度256字节。他写了正弦、斜波、三角波和方波的波表。那个方波的波表是我们批判最严重的一个。有兴趣的上网找找。
现在觉得dds仍然是简单的,它只有3个参量:累加器字长、波表寻址字长和波表输出字长,3个整数而已!可是把这3个整数组合起来,结果可是太出乎意料了。竟然有那么多的不知道,很有意思。大概这就是仿真的魅力吧,

。特别是大家一起的时候更好玩,
颇有点儿指点江山的意思。(这话是盗版的 :d )
--------------------------------------------------------------------------
继续仿真昨天一异说的问题。又出乎意料:
1、16位dds,不管相位增量取什么值,输出都是一样的纯净;
2、32位dds,只有相位增量与16位dds等效时,输出才与16位一样纯,否则噪声增加。
说明什么问题?mainstreet的观点正确,波表越完整dds输出质量越高!
因为32位dds的相位增量与16位等效时,32位dds等效于16位的,于是他拥有完整的波表。而稍微把预制数拉偏后,这个“完整波表就不存在了”,于是出现截断问题,噪声增加。参见第3图,是不是有加矩形窗的嫌疑?
图1:16位dds,预制数8321
图2:32位dds,预制数8321*65536
图3:32位dds,预制数8321*65536+111