原创 3.如何加多普勒和码相位---第一点:查表取地址

2022-4-18 15:56 1242 8 8 分类: 通信 文集: 直接扩频技术

如何加多普勒可能是我遇到的第二个难题,现在已经有点记不清楚我之前根据资料自己写的代码了,总之奇奇怪怪的,后来就去问了老师,老师说用NCO来产生,原理好像是查表取地址。

反正这一块之前没怎么搞清楚,就直接根据老师讲的代码写了,但是后来仿真算法的时候怎么都不对,一步步调试算法的时候才仔细研究了一下,虽然只有短短一行,但是我也弄了很久才弄明白(当然我自己觉得我可能明白了,也有可能其实是错的,如果错了大家可以指出来)。

多普勒效应的理论知识就不说了,主要是因为接收端的相对运动产生的,我只讲代码怎么写。

我会仔细讲一下,争取把我想说的说出来,所以有可能会分几次讲。

这一次主要通过图展示查表取地址是什么意思

首先把代码亮出来:

其中Fs是采样率,fc是载波频率,Rc是发送的码速率,Rc_rec是接收端的码速率,phase是接收端的码相位的误差,一般在精同步阶段是±1chipf_doppler是多普勒频偏,theta是发送信号的初相。

data是发送端的信号,signal是接收端的信号

我放几张图大家就会更清楚了

首先我们画一下查表查的什么表

假设Fs = Rc;

下面是整体图,由于横坐标很大,所以近似为一条直线。65472 = 64 * 102364比特时发送的数据长度,1023是扩频码的长度,所以扩频后的长度就为65472

我们只看横坐标为0-10时有:

出现的放大图不是直线的原因是由于floor是向负无穷取整,所以改成round(向最近的整数取整)时图会更好看

下面是用round时横坐标为0-10的图

后面几节会讲一下为什么用floor不用round

假设Fs = 4 * Rc;

Fs = Rc;的整体图相比,横坐标放大了四倍

放大了看0-10横坐标的图就更清楚了

相当于每个点都停留了4次,也就是说ts变化4次时,黄线区域的取值才变化一次,然后就相当于取data中的一个值,这就是根据采样率查表取地址,不知道大家有没有意会到

下一节会继续说一下怎么加的码相位和多普勒里面的小问题。

如果有错误的地方各位大佬可以指正一下,谢谢。

ps:不知道怎么把图缩小,大家将就看一下


文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条