Xiinx中关于DDS IP核 的学习

1 [http://blog.csdn.net/yundanfengqing_nuc/article/details/45058915]
感谢yundanfengqing_nuc的博文。
此链接中,有对IP核设置的基本描述,包括 各参数的定义,输出频率,频率分辨率,相位增量,三个基本参数的描述和公式解释,之后给出一个实例。但是只给出了一种模式,而且对SFDR等只是直接给出,但是并未解释,已经向楼主请教,等待答案中。
关于SFDR 无杂散动态范围,另一篇博文中有详细介绍(http://blog.csdn.net/jbb0523/article/details/7879999)
感谢 jbb0523 的博文。
Spurious Free Dynamic Range,无杂散动态范围,这个值直接影响到输出的正余弦的位数,这个可以这样来估计,若正余弦位数要求为n位,则这里的值应是(6*n-6,6*n】,其中(代表开区间,而】代表闭区间。这个6大概是这样子计算来的,每差一位,幅度变化一倍,即20*log10(2)=6.0206dB。其实也可以按量化误差来估算这个值,若按n位有符号数量化,则量化误差为20*log10(2*A/2^n /2/ 2*A),这个式子分解开这么理解,2*A/2^n是将-A~+A范围量化成了2^n份,而量化误差则为其一半,所以再除以2,然后要计算除以2*A,则代表二者的比值取log后则转化为dB了

接下来 写一下自己学习的其他关于DDS的知识点。
1 DDS的ip核是由两个部分构成:相位生成器 和SIN/COS LUT,通俗的可以理解为 一个产生地址,和 一个根据地址查找表,来产生正余弦信号。
2 补充一个概念
频谱纯度:通过查找表映射构造的正弦波的质量与处理过程的相位和幅度量化有关。查找表的深度和宽度分别决定了信号的相位分辨率和幅度分辨率。这些分辨率限制等价于时间上的波形抖动和信号的幅度量化。

这里写图片描述
这个位宽根据这个公式可知,很容易就是个很大的值,结果就是位宽很大,导致需要很大的查找表和存储器空间。所以一般我们都要对其进行量化,即将其低位舍弃。如图中Q1.Xiinx中关于DDS IP核 的学习_第1张图片
输入的精度 和输出的精度是不一样的。
精度变小直接导致频谱失真,也就是引入了时间上的波形抖动。与此同时,也可以通过加性随机信号来打破查找表地址误差的规律性。加入抖动序列,相位截短DDS就成了相位抖动DDS。
还有一种是泰勒级数修正DDS,也可以看成一种补偿机制。

3 相位增量和相位偏移 PINC和POFF
三种模式 固定值(fixed),可编程(programmable),由输入端口输入(streaming)

  • 固定值,定制IP核时指定输出频率,而且嵌入到工程中去后不能再修改。
  • 可编程,就比较复杂了,有较多寄存器需要配置,包括地址,寄存器选择,写使能和数据信号。

先写这点,等待更新。
————————–分割线—————————————
以下为11-24补充的内容

又好好看了看datasheet的内容,发现还是公式有用,能够说明问题,自己对于之前看见公式就觉得无聊,想直接跳过感到羞愧和后悔。


这两个公式基本解决了我的疑问,我自始至终的是想搞清楚DDS的PINC的输入方式,是怎么样控制输出的,利用的模式是streaming。
看的比较混乱 还是需要多测试几遍 看看是否有问题,待续。

你可能感兴趣的:(记录自己的学习)