数控振荡器
在实际通信系统中,携带数字信息的信号通常通过某种类型的载波调制发送,并且发送信号的带宽限于以载波为中心的频带,例如双边频带调制或相邻载波。
在频带中,例如单边带调制。
无论调制方法如何,在发送端都需要高频载波来调制信息以减少信号衰落。
在接收端,需要与发送端频率相同的高频载波从接收器发送信息。
频率解调。
为了产生这种高频载波,在数字电路中使用数字控制振荡器(NCO),也称为直接数字合成器(DDS),并且可以人为地控制其输出频率和相位以满足各种需要。
实时计算方法的正弦波样本是实时生成的。
这种方法由于其计算耗费了大量时间,因此只能产生频率较低的正弦波,计算精度与计算时间之间存在矛盾。
当需要生成高速正交信号时,不可能进行实时计算。
因此,在实际应用中,一般采用最有效,最简单的查找表方法,即根据每个NCO正弦波的相位预先计算相位的正弦值,以及相应的正弦值数据。
根据相位存储相位作为地址信息。
数控振荡器通常由参考时钟(fclk),相位字寄存器,相位累加器和幅度/相位转换电路组成。
相位累加器连续累加输入频率控制字M,以获得频率字中步进的数字相位。
2.功能生成模块可以在当前相位上执行相应的幅度转换后输出任何功能的波形。
函数生成模块最直接的实现是只读存储器查找表(ROM LUT)方法,它将正和波形的样本存储在ROM中,并通过DAC周期性地输出它们以生成输出波形。
如果输出信号的比特数是a,则相位地址n的比特数的大小需要是a×2n。
结合上述结论,频率分辨率越高,所需的ROM越大,n的指数增长关系越大。
可以看出,ROM LUT方法难以平衡功耗,性能和成本,CORDIC算法的应用可以很好地解决这个问题。
3.相位加法器将相位寄存器中的数字相位添加到相位控制字,以获得偏移后的当前相位。
假设系统的时钟频率为fc,频率控制字为M,相位寄存器的位数为N,则数控振荡器输出信号的频率为。
根据奈奎斯特采样定理,最大fs为1 / 2fc,在实际设计中,它通常不应大于时钟频率的1/4。
根据该公式,频率分辨率是相位寄存器的比特数N越大,当系统时钟频率恒定时,所生成的信号的频率分辨率越高。
NCO性能指标包括信号频率分辨率,信噪比(SNR),无杂散动态范围(SFDR)和输出的信号正交性。
这些性能指标取决于NCO中的数据位数。
NCO的数据位数包括用于表示相位数据的位数n和表示相位的正弦数据的位数nb。
取决于n,nb之间存在关系,前者必须能够表示相变的相位正弦。
值的最小值和最大值发生变化。
这分为两种情况:第一种情况是相位最小变化的正弦的最小变化发生在π/ 2-△φ~π/ 2,π/2~π/ 2 +△φ,3π/ 2 - △φ~3π/2,3π/2~3π/ 2 +△φ,相位值在0和2π之间,并且等分为2n爪值点,因此,正弦波的特性可以知道只讨论了π/ 2-△φ和π/ 2的相位点的正弦值之间的差异。
在第二种情况下,相位最小变化值的正弦值的最大变化发生在0~△φ,π-△φ~π,π~π+△φ,2π - △φ~2π处。
值。
这种情况可以通过类似于第一种情况的推导方法获得。
由于正弦值的量化误差引入了NCO的噪声,并且量化误差由表示正弦值的比特数确定。
下图显示了NCO的工作原理:数控振荡器通常由参考时钟(fclk),相位字寄存器,相位累加器和幅度/相位转换电路组成。
在参考时钟的作用下,每个时钟周期存储在相位字寄存器中的值由相位累加器累加,并且相位果实器的输出用作查找表的输入以获得相应的幅度值。
根据奈奎斯特的采样定律,输出信号的频率应小于参考时钟的1/2。
相位累加器输出(△Ф)的值和系统的频率(fclk)决定输出频率(fout)。
门之间的关系如下:N是相位寄存器中的位数,N的大小决定了频率分辨率(fres),这里假设fclk = 128MHz,N = 32,频率分辨率NCO的计算值可以计算为fres = 0.0298Hz。
相位累加器是确定NCO电路性能的关键部分。
我们可以使用Altera的加法器宏功能来形成一个在流水线模式下工作的32位累加器。
相位/幅度转换电路是NCO电路的另一个关键部分,设计中的主要问题是资源的开销。
一般电路使用ROM结构。
相位累加器的输出是数字锯齿波。
通过取几个位作为ROM的地址,然后通过查找表和计算,ROM可以输出所需波形的量化数据。