首页/文章/ 详情

大学毕业设计一席谈v2之十一 扩频通信系统(11)GPS 信号和北斗信号

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
23天前浏览335
这个系列之前写了十篇文章(第十篇涉及的是信噪比等效),应该说是把扩频通信系统涉及的环节都讲清楚了。现在讲讲扩频通信在实际生活中的应用和其他形式比如跳频。扩频系统在当代最常见的应用就是卫星导航系统,之前是CDMA2000,可惜该系统已经退出市场了。互联网生活中根本离不开导航,以前是用美国人的卫星,现在我国用的是自己的卫星。意义不一样!!!导航系统不自主,国家安全隐患太大!!!2024年开始,本系列会每年增加一篇文章,延续这个课题,让大家能够感受到扩频通信的广泛应用。本文内容超级长,请大家耐心看完。
先和大家一起简单了解一下国防利器—北斗卫星导航系统!这是由我国自主建设运行的卫星导航系统,可以为全球用户提供全天候、全天时、高精度的定位、导航和授时(PNT)服务的国家重要空间基础设施。北斗三号全球卫星导航系统(BDS-3)已于2020年7月正式开通,目前BDS-3星座包括3颗地球静止轨道(geostationary earth orbit,GEO)卫星、3颗倾斜轨道(inclined geosynchronous orbit,IGSO)卫星及24颗中地球轨道(medium earth orbit,MEO)卫星。其中,24颗MEO卫星分别由中国空间技术研究院(China Academy of Space Technology,CAST)及上海微小卫星工程中心(Shanghai Engineering Center for Microsatellites,SECM)研制。
这两个系统的主要信号采用了两种不同的调制方式,虽然最终都是PSK调制,但是细节相差较大。通过理论学习和仿真来强化掌握扩频通信知识,这也是本人力荐的学习方式!建议从GPS信号开始学起!

GPS 信号!

GPS 的导航频段采用的是 L1(1575.42MHz)、L2(1227.6MHz)和 L5(1176.45MHz)三个频段。具体技术参数如图所示。

目标:仿真L1 C/A信号!
先看调制方式!
 
再看编码方式。在L1信号上没有编码,只要信息帧层面有CRC校验,因此直接跳过编码内容来到导航信息帧的格式部分!
帧结构:一个完整的导航信息帧由5个子帧(Subframes)组成。每个子帧包含300比特,总共1500比特(5 × 300比特)。
子帧结构:
子帧1(Subframe 1):
帧标识符(Frame ID):6比特
时间标记(Time of Week):18比特
卫星健康状态(Satellite Health):6比特
数据校验(Parity):6比特
导航数据:300比特(完整帧中的前300比特)
子帧2(Subframe 2):
数据校验(Parity):6比特
轨道参数(Ephemeris Data):232比特(包括卫星的轨道参数)
发射时间和其他信息:66比特
数据校验(Parity):6比特
导航数据:300比特(帧中的第301到600比特)
子帧3(Subframe 3):
数据校验(Parity):6比特
轨道参数(Ephemeris Data):232比特(继续包括轨道参数)
发射时间和其他信息:66比特
数据校验(Parity):6比特
导航数据:300比特(帧中的第601到900比特)
子帧4(Subframe 4):
数据校验(Parity):6比特
轨道参数(Ephemeris Data):232比特(继续包括轨道参数)
发射时间和其他信息:66比特
数据校验(Parity):6比特
导航数据:300比特(帧中的第901到1200比特)
子帧5(Subframe 5):
数据校验(Parity):6比特
健康状态(Health Data):24比特
系统参数(System Parameters):112比特
数据校验(Parity):6比特
导航数据:300比特(帧中的第1201到1500比特)
导航信息帧的具体数据内容
帧标识符(Frame ID):标识子帧的类型或序号。
时间标记(Time of Week):卫星时间的周内时间(以秒为单位)。
卫星健康状态(Satellite Health):指示卫星是否正常工作。
轨道参数(Ephemeris Data):包含描述卫星轨道的各种参数,如半长轴、偏心率、倾斜角等。
发射时间和其他信息:包含相关的时间和系统参数信息。
系统参数(System Parameters):包括系统时钟偏差、参考时间等。
代码来啦!
这次可是让国外AI根据本人的要求一步一步的写程序,效果如何呢?让大家看完代码再看看本人的分析!文本文件和m文件的差异就是后缀名不同,其他完全一致!
经过三次完善,AI最终给出了什么样的程序呢?

能用吗?肯定不行。但本人可以在此基础上修改和完善使其符合仿真要求!这就是AI目前的水平,虽然不能完全符合要求,但可以给出大概的框架,省去本人很多写基础代码的时间!明显的错误就是没有扩频过程和解调端使用了IIR滤波器!还有个工程常识没有体现在程序中,就是仿真只能产生中频信号,不能产生射频信号!为什么呢?留给读者去思考!

等过了几个月,我再来进行测试,看看ChatGPT有没有进化!!!确实有了改正错误的能力,只不过改专业性强的代码还是漏洞较多,那就需要自己来找出程序的问题了!一起来看看记录下老师修正程序过程的视频!先看看如何使用AI改程序!

不断进化的人工智能或许让你感到恐惧!然后来看程序的编写过程!

此刻需要附上代码!此时看代码会很有感觉!


%%%%%%%%%%%%%%%% 发射机
% Generate C/A code for different satellites
satellite_prn = 1;                         % Example satellite PRN number (1-32)
ca_code = code_gen(satellite_prn);         
% Generate C/A code for the specific PRN
ca_code_length = length(ca_code);

%%%%%% Generate navigation data frame
%%% For simplicity, generate dummy data for 5 subframes
subframe_length = 300;       % Length of each subframe in bits
subframes = zeros(5, subframe_length); % Initialize 5 subframes
subframes(1, :) = randi([0 1], 1, subframe_length); % Subframe 1

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