本项目旨在基于MATLAB软件环境,完整实现北斗卫星导航系统(BDS)B1I频点公开服务信号的伪随机噪声(PRN)测距码生成算法。虽然在GPS中称为C/A码,但在北斗系统中对应的民用测距码为B1I码。该程序严格依据《北斗卫星导航系统空间信号接口控制文件(ICD)》中的数学模型,构建了两个11级的线性反馈移位寄存器(LFSR)来分别生成G1序列和G2序列。项目的主要功能逻辑包括:首先初始化生成多项式,根据用户输入的目标卫星PRN编号(如1-63),在内置的查找表中检索该卫星对应的G2序列相位抽头系数;接着,通过寄存器的移位反馈与模二加运算,生成两路m序列;最后,将G1序列与经过相位平移的G2序列进行模二加合并,输出标准的Gold码序列。该生成器支持北斗星座中GEO(地球静止轨道)、IGSO(倾斜地球同步轨道)和MEO(中圆地球轨道)卫星的测距码生成。此工具对于卫星导航领域的科研人员至关重要,是进行北斗信号体制研究、构建卫星信号模拟器、开发软件定义无线电(SDR)接收机以及验证信号捕获与跟踪算法精度的基础模块。