本文主要是介绍GPS模拟器中的载波NCO理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
GPS信号包含三部分,50bit/s的导航电文数据,1.023MHz的C/A码,频率为1575.42MHz的载波信号。
导航电文先与C/A码进行异或处理,得到的是1.023MHz的(0-1)数据流,然后将数据调制到1575.42MHz的载波信号上面,因为载波信号的频率高出(0-1)数据流1540倍,所以,一个0或者一个1需要很多个完整的载波正/余弦信号来表示。
但是在实际应用中正弦信号不可能很好产生,需要对其数字化处理,即通过NCO(数控振荡器)产生。
载波NCO产生的载波信号是正/余弦信号。下面介绍如何生成NCO信号。
实际应用中的正弦信号是不能生成的,只能通过数字化处理后,比较生成,采样频率越高,生成的精度也就就越好。
一个最简单的单频信号:
u(t)==
(1)
即为我们所需要的频率,对这个信号进行抽样处理,抽样频率为
,则其离散相位序列为:
(n=0.1.2.....)
其中:
其中叫相位增量,我们可以通过相位增量就可以控制合成信号的频率。将整个周期的相位2π分为M份,每份为
,若每次的相位增量选择为
的K倍,即可得到信号的频率:
对应的模拟信号为:
其中K和M都是正整数,根据采样定律,。综上所述,在采样频率一定的情况下,可以通过控制两次采样之间的相位增量(不得大于π)来控制所得离散序列的频率。
实际应用中,我们已经定义了抽样频率和我们需要的频率
。通过
,M为我们将周期分割的份。K又称频率累加字,在某一时钟频率下K进行累加,等加到M时,就表示一个周期信号产生。
在FPGA实现正弦信号的过程中,将每次K自身累加的值对应的正弦信号中的幅度值写成ROM表,每次K累加一次,输出的是其正弦信号中对应的幅值。
这样一个载波正弦信号就生成了。
简单的说,就是K在累加过程中,每一次的累加都是在输出一个正弦信号的采样值,当输出到M也就是一个周期的结束时,一个完整的正弦信号就生成了。K越大,输出的信号就月精密。
这篇关于GPS模拟器中的载波NCO理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!