首页/文章/ 详情

大学毕业设计一席谈之三十一 扩频系统的跟踪(5)消除码滑动

2天前浏览4

上一篇文章让大家看到了扩频码在跟踪过程在滑动的现象,这个源头就是发送和接收端的时钟不一致!那么该如何改动程序来应对这个现象呢?

本文依旧采用计数器的方式(需要内插来完成本地伪码的产生,下文程序中的粉红字体)来完成扩频码的跟踪并去除滑动现象,这和之前第一篇文章中介绍的跟踪方式一致,没有计数移位的方式来的简单。计数移位方式对于地面扩频通信很适用,对导航系统来说会导致精度的降低,这方面知识会在后续文章中进行了详细讲解,还会讲解更复杂的跟踪方式,调整采样时钟的跟踪方式,这种方式的跟踪精度会更高。

一般的扩频通信接收机只需要解调后的信息,而卫星导航接收机中跟踪模块后面还有定位解算模块,该模块不仅需要解调后的信息,还需要伪码的精确相位值用于定位解算。于是有了之前程序的升级版本,一起来研究仿真程序吧!

N = 4001+250;                          % 计算的总数据点数

data = randi([0 1],1,N);                % 发送信息(随机数)

data = 2*data-1;                        % Unbipolar -> Bipolar

data = [data(1:250) 1 ones(1,1000) data(250+1:N-1000)];   

% 插入计算误码率时的指示位

gs1 = [];

for m = 1:length(data)

    signal1(m,:)= data(m).*npnsignal1(1:255);

    gs1=[gs1 signal1(m,:)];

end


fc = 4.08e6;  %  中频频率

off1 = fc + 560;

freoffset = 200; % 采样偏差  时钟不一致导致

samplefre = 16320000-freoffset;  

carrierphase = pi/3;

t1=[1:length(gs1)*4-100]/samplefre;

carrier1=cos(2*pi*off1.*t1+carrierphase);


m = ceil(4.08e6/samplefre.*[1:length(carrier1)]);

gpnsignal1=gs1(m); 

% 码速是4.08MHz,采样频率是(16.32e6-200)Hz。


rs = gpnsignal1.*carrier1;

% 产生中频为4.08M信号,带有频偏。

% 采样频率标称值为16.32MHz,也有偏差。

来源:通信工程师专辑
通信
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-12
最近编辑:2天前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 408粉丝 2662文章 429课程 40
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈