
在实际的通信系统中,携带数字信息的信号通常是由某种类型的载波调制方式发送的,传送信号的带宽限制在以载波为中心的一个频段上,如双边带调制,或在邻近载波的频段上,如单边带调制。无论何种调制方式,在发送端均需要一个高频载波将信息调制上去,以减小信号衰落,相干解调时在接收端也需要一个与发送端同频同相的高频载波将信息从高频上解调下来。为了产生这个高频载波,在数字电路中是采用数控振荡器(NCO),也称为直接数字频率合成器〔DDS),它的输出频率和相位可以受人为控制,从而满足各种需要。
实时计算法的正弦波样本以实时计算产生,该方法因其计算需要耗费很多时间,因而只能产生较低频率的正弦波,而且存在计算精度与计算时间的矛盾。由于在需要产生高速的正交信号时,实时计算法将无法实现。因此,在实际应用中一般采用最有效、最简单的查表法,即事先根据各个NCO正弦波的相位计算好相位的正弦值,并按相位作为地址信息存储该相位的正弦值数据。
数控振荡器一般由基准时钟(fclk)、相位字寄存器、相位累加器以及幅度/相位转换电路等部分组成。
1.相位累加器对输入频率控制字M不断累加,得到以该频率字为步进的数字相位。
2.函数发生模块,对当前相位进行对应幅度转换后,可以输出任意函数的波形。
函数发生模块最直接的实现方法是只读存储器查找表(ROM LUT)法,将正、余弦波形的抽样存放在ROM中,并通过一个DAC周期地进行输出,从而产生输出波形。如输出信号幅度位数为a,相位地址位数n所需查找表的大小为a×2n。结合上文结论可知,频率分辨率越高,所需要的ROM越大,和n为指数增长关系。可见,ROM LUT法很难兼顾功耗、性能、成本三方面,而CORDIC算法的应用能够很好地解决这一问题。
3.相位相加器将相位寄存器中的数字相位与相位控制字相加,得到偏移后的当前相位。
设系统的时钟频率为fc,频率控制字为M,相位寄存器位数为N,则数控振荡器输出信号频率为。根据Nyquist抽样定理,fs最大值为1/2fc,而在实际设计中,一般不应大于时钟频率的1/4。其频率分辨率为,根据此式,在系统时钟频率不变的情况下,相位寄存器位数N越大,产生信号的频率分辨率越高。