首页/文章/ 详情

大学毕业设计一席谈之三十七 北斗卫星B1C信号的捕获仿真(2)信号生成和捕获算法

6月前浏览441
生成了weil码,如何生成B1C信号呢?上一篇文章讲解了理论,本文将展示北斗信号仿真程序!本系列文章从2023年开始写,时隔二年多,再次续写本系列,感慨万千,文章的更新频率降为了半年一篇,上一篇发布已是六个月之前。

大学毕业设计一席谈之三十七 北斗卫星B1C信号的捕获仿真(1)信号生成

本想过得轻松些,远离研发属性,无奈2025年本人带的毕业设计涉及此方面,还想托举一下学生,想到本课题的仿真难度,还是让我打头阵吧!
可怜天下老师心啊!不知学生是否会感念此情,加倍努力学习。自己的学生看文章也要付费,只不过我会立刻返还给他。互联网上的朋友想看此文,只有付费,保证货真价实!本人进行北斗B1C信号的捕获算法开发也是第一次,文章中伴随摸索的过程,一并记录下来和大家分享!摸索的过程首先就是大量的阅读资料,反复的看资料!!!

B1C信号是以1575.42MHz载波频率为核心,并覆盖32.736MHz的带宽范围。B1C信号主要播发在北斗三号的MEO和IGSO卫星上,提供公开的导航服务,而GEO卫星则不播发该信号。前有在这个频点上采集的 GPS 信号,这个采样数据里面包含了 B1C 信号,因此可以用之前的采样信号做仿真测试。

这次先让人工智能“元宝”来写程序,我来指挥。看看效果如何?

这个对应什么样的MATLAB语句呢?

s_B1C = D .* B1C_data.*sign(sinf_a)/2+sqrt(1/11).*B1C_pilot.*sign(sinf_b)+...

1i*sqrt(29/44).*B1C_pilot.*sign(sinf_a);

B1C_data是数据分量的测距码,B1C_pilot是导频分量的测距码。

当导频分量受干扰时,启动数据分量独立捕获模式:采用非相干积分(20帧以上)补偿灵敏度损失,通过NH码同步提供时间基准。

我们先生成数据分量,采用二进制偏移载波(BOC)调制技术,伪码采用weil码。BOC(m,n)中的m是副载波频率相对于伪码速率的倍数。例如,BOC(1,1)的副载波频率等于伪码速率。

注:数据分量的子码为周期18s的导频电文这句话是错误的。数据分量只有主码!!!

人工智能需要引导,本人通过不断提问的方式让程序的可用性不断提升!

请生成北斗B1C信号的MATLAB仿真程序,只需要生成数据分量的信号,采用boc(1,1)调制方式,伪码采用weil码。
请将程序中Weil码的生成方式进行改动,参考北斗标准文档(如GB/T 31404-2015)生成weil码,程序中的采样频率可以设置为伪码速率的16倍,中频频率设置为伪码速率的4倍。请根据要求改动程序。
 
请生成北斗三代B1C信号的MATLAB仿真程序,只需要生成数据分量的中频信号,采用boc(1,1)调制方式,伪码采用某一颗卫星的weil码。请参考北斗标准文档(如GB/T 31404-2015)生成weil码。中频频率设置为weil码速率的4倍,采样频率设置为weil码速率的16倍。  
三次提问以后,元宝给的程序能用吗?很遗憾,不能用,而且错误百出,不过程序框架是正确的。AI在专业领域的路还要进化很长时间!!!  
首先程序中生成weil码的过程就不正确,扩频的过程也不正确,副载波最开始连sign函数都没有,只有靠本人慢慢改动了。根据信号的传输体制慢慢写代码!传输体制内容在哪?《北斗ICD-B1C-1.0》,网上可下载!

再来看具体分析!
有了这些资料,看看本人如何写仿真程序?观察信号一定要从时域和频域两个维度分别了解。
该函数见上一篇文章!

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