DDS(Direct Digital Synthesis) 原理
根据傅里叶变换可知——任何周期信号都可以分解为一系列正弦或余弦信号之和。
一个正弦信号的时域表达式为:
s(t)=Asin(2πfct+θ0)
其相位为表达式为:
Φ(t)=2πfct+θ0
根据相位将一个正弦信号分成16份,则每一个相位对应一个幅值,如下图:
将相位和幅值一一对应存储起来,则可以通过产生依次不同相位生成正弦信号。
下图是DDS结构:
相位控制字:即相位偏移量,又叫POFF。通过设置相位控制字可以确定初始相位的偏移。
相位是以系数modulus为周期,即0∼(modulus−1)表示0∼360度。这个系数下面称为phase_modulus,则推算出相位控制字的公式为:
POFF=360phase×phase_modulus
phase:即为想要输出的相位,或者说与默认值得相位差,这里输入0∼360即可.
phase_modulus:相位系数为 2phasewith−1。
phase_with:即相位位宽,在IP生成后的summary界面可以查到。
频率控制字:即相位增量(每隔几个相位读取一次),又叫PINC。其公式为:
Δθ=fclkfout×2Bθ(n)
fout=2Bθ(n)fclk×Δθ
fout:即想要输出的频率;
Bθ(n)为频率精度的位数,其计算公式如下
Bθ(n)=⌈log2Δffclk⌉
fclk:即输入IP的时钟,也是这个信号的采样时钟;
Δf:频率精度,即IP核设置钟的“Frequency Resolution”(频率分辨率)
相位累加器:相位累加器是DDS的核心,其功能就是完成DDS实现原理中的相位累加功能(频率控制字用于控制输出频率)。
相位寄存器:保证当频率字改变时不会干扰相位累加器的工作。
正弦查询表:相位、幅值一一对应关系就好比存储器中地址和存储内容的关系,如果把一个周期内每个相位对应的幅度值存入存储器当中,那么对于任意频率的正弦信号,在任意时刻,只要已知相位Φ(t),也就知道地址,就可通过查表得到s(t)
DAC: 数模转换
LPF: 低通滤波
处理过程如图所示: