DSP系统需要正弦波形或其他周期波形生成,而用于生成这些波形的一种方法叫做“NCO(数控振荡器),主要是使用数字累加器将地址生成到正弦LUT(查找表)中。
DSP系统在软件和硬件方面都很常见。因此,它允许在生成的波形的瞬时频率/相位内立即发生变化,同时在输出中保持恒定的相位属性。一旦它与DAC合并以生成模拟o/p波形,该系统就称为DDS(直接数字合成器)。在本文中,小编主要介绍DSP系统中的数控振荡器相关工作原理。
数控振荡器,英文名Numerically Controlled Oscillator,简称NCO(或者Digital-Controlled Oscillator,DCO),是一种数字信号发生器,可生成同步、离散时间和离散值波形,这些波形通常为正弦曲线,其中信号的频率或相位在设计中受到控制。
数控振荡器经常在输出端与DAC(数模转换器)组合以构成直接数字合成器。数控振荡器在准确性、敏捷性、可靠性和稳定性方面比其它类型的振荡器具有许多优势。因此,D类音频放大器、音调发生器、照明控制、荧光镇流器和无线电调谐电路都受益于数控振荡器。数控振荡器用于各种通信系统,如雷达系统、数字 PLL、无线电系统、驱动器多级 PSK/FSK调制器或解调器等等。
数控振荡器的特点主要体现在以下几个方面。
数控振荡器架构如下图所示。该架构包括两个主要部分PA(相位累加器)和PAC(相幅转换器)。
相位累加器在每次CLK采样时将频率控制值添加到保存在其输出端的值。相幅转换器提供匹配的幅值样本和相位累加器的输出字,就像信号查找表中的索引一样。有时候,插值与LUT结合使用,以提高精度并减少相位误差噪声。在数控振荡器软件中,可以使用幂级数等数学程序将相位转换为振幅。
计时后,相位累加器会简单地创建一个模2^N锯齿波信号,然后通过相位到幅度转换器将其更改为采样正弦波。这里的“N”是相位累加器内的进位位数。像“N”这样的进位位数设置了振荡器的频率分辨率,它通常比相幅转换器查找表的存储器空间中的位数高得多。
如果相幅转换器的容量为2^M,则相位累加器的输出字应减少为M位,如上图所示。但是,这些位仅用于插值。相位输出字节减少不会改变频率精度,但会产生时变周期性相位误差,这是杂散产物信号的主要来源。
相对于CLK频率的频率精度仅受用于计算相位的数学精度的限制,这是因为数控振荡器是相位和频率感知的,可以稍微修改以通过在合适的节点求和来生成调频或调相输出,否则将给出正交输出。
数控振荡器使用累加器的溢出产生输出信号。因此,累加器的溢出是通过可修改的增量值而不是仅通过单个CLK信号来控制的。这提供了一个优于简单定时器驱动计数器的优势,因为分频度不会因有限的预分频器或后分频器分频器值而改变。数控振荡器在需要固定占空比的频率精度和出色分辨率的应用中非常有用。
数控振荡器只是通过频繁地向累加器添加一个固定值来工作。因此,加法将以输入CLK速率发生。有时候,累加器会通过进位溢出,这是原始NCO的输出,它通过包含值与累加器最高值的比率有效地降低了输入CLK。
此外,可以通过简单地延长脉冲来修改数控振荡器的输出。之后,数控振荡器修改后的输出在内部分配给其它外围设备,并可选择输出到输入/输出引脚。累加器溢出也会产生中断。
数控振荡器周期以不同的步骤变化以生成平均频率。所以这个输出主要取决于接收电路对数控振荡器的输出进行平均以减少不确定性的能力。数控振荡器模块的溢出主要取决于公式:累加器溢出率=累加器溢出值/输入CLK频率+增量值。
什么是相位累加器?
相位累加器是一个模N计数器,包括2^N个数字条件,系统的每个时钟输入信号都会增加这些条件。增量大小主要取决于调谐字值,并且M被应用于累加器的加法器级,而调谐字值只是固定步长中的计数器增量。
数控振荡器的优点主要包括以下几方面内容:
数控振荡器的应用也是非常的广泛,一些常见的应用包括:
以上就是关于控制振荡器的相关基础内容概述,该振荡器的工作原理是在每个输入时钟信号的上升沿简单地向内部累加器添加一个增量。因此,控制振荡器的输出频率与累加器溢出的周期数成正比。