PHPWIND
HELLOCQ
UID:9962
UID:39416
UID:50257
好像没必要.这个时钟频率使dds输出频率和频率控制数据相差10倍,如:输出频率1000hz,控制字节数据为10000.如果用400mhz时钟输出频率1000hz,控制字节数为10737.5左右.如果单片机控制程序计算32位控制数能力没有问题,应该没必要用这个时钟.
很有必要..啸叫声就是由于交越失真造成的......
我在其他地方看到这样的信息:dds咋三元主要有三种:1,相位舍位误差,2,幅度变量误差,3,adc的非理想特性。不知道和这个是是否存在关系?本着先软后硬的原则是没有必要,如果做了也是一种尝试,找乐子 [表情] ,400mhz时钟是否可以输出一个10mhz整数频率,有点难,总会有小数部分。
我还是认为没有必要,dds是一个数字信号转变模拟信号输出电路。时钟频率是可以改变的,ad9951稳定时钟频率是400mhz,ad9851为180mhz,ad9850为125mhz,ad9858好像1ghz。这些频率可以略高、略低。ad9951和9851(9850)控制字节数是32位二进制数。控制字节数=输出频率*4294967296(2的32次方)/时钟频率我们可以用200mhz时钟,利用谐波通过滤波和放大电路使输出200mhz频率(标准输出最高好像70mhz)我用bascom-avr的32位计算公式计算ad9851芯片32位控制数最高输出频率好像只能在89mhz,再高就是负数了。用频率计测ad9851芯片输出频率,在65mhz以前跟控制数还是线性关系,65mhz以后输出频率不是线性了。对于失真只能另当别论了,失真可以通过滤波、调整动静态工作点来改善。
误差元素是很多的。还有时钟温度因素、单片机控制dds控制速度因素等等。。。利用dds输出10.000000mhz是可以的,输出10.00000000000时要考虑很多因素的。
UID:658
这个负数是怎样来来的,dds对这个数有啥反应,9851我没有写过程序,不知道。还有65mhz以后就不是线性了,可否多讲解一些?我以前写的没有用除法,用的是查表,总是有误差,虽然不大,也去不掉
UID:21980
UID:34302
老大客气了, :d
[表情] [表情] ...老大,俺一定继续纠结下去,[表情] [表情]
唉,我想啊。曾经与通信失之交臂,现在堕落成了银行小职员, [表情]