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)=\sin 2\displaystyle \displaystyle \pi f_{0}t=sin\theta (t)                                                              (1)

f_{0}即为我们所需要的频率,对这个信号进行抽样处理,抽样频率为f_{c},则其离散相位序列为:

                                        \theta (n)=2\pi f_{0}nT_{c}=\triangle \theta * n (n=0.1.2.....)

        ​​​​其中:

                                                  \triangle \theta =2\pi f_{0}T_{c}=2\pi \frac{f_{0}}{f_{c}}

其中\triangle \theta叫相位增量,我们可以通过相位增量就可以控制合成信号的频率。将整个周期的相位2π分为M份,每份为\sigma =\frac{2\pi }{M},若每次的相位增量选择为\sigma的K倍,即可得到信号的频率:

                                        f_{0}=\frac{K\sigma }{2\pi T_{c}}=\frac{K}{M}f_{c}

对应的模拟信号为:

                        ​​​​​​​        ​​​​​​​        u(t)=sin(2\pi \frac{K}{M}f_{c}t)

其中K和M都是正整数,根据采样定律,K_{max}<\frac{1}{2}M综上所述,在采样频率一定的情况下,可以通过控制两次采样之间的相位增量(不得大于π)来控制所得离散序列的频率。

        实际应用中,我们已经定义了抽样频率f_{c}和我们需要的频率^{f_{0}}。通过\frac{K}{M},M为我们将周期分割的份。K又称频率累加字,在某一时钟频率下K进行累加,等加到M时,就表示一个周期信号产生。

在FPGA实现正弦信号的过程中,将每次K自身累加的值对应的正弦信号中的幅度值写成ROM表,每次K累加一次,输出的是其正弦信号中对应的幅值。

这样一个载波正弦信号就生成了。

简单的说,就是K在累加过程中,每一次的累加都是在输出一个正弦信号的采样值,当输出到M也就是一个周期的结束时,一个完整的正弦信号就生成了。K越大,输出的信号就月精密。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值