# dsss **Repository Path**: lhtgitee1/dsss ## Basic Information - **Project Name**: dsss - **Description**: 通信原理课程设计,直接序列扩频通信系统仿真设计 MATLAB实现 ①实现基带信号生成,扩频码生成,扩频过程,调制,信号经过信道,解调,解 扩,计算误码率。 ②实现接收端的伪码捕获跟踪(忽略载波跟踪问题);捕获算法实现(例如:FFT 快速伪码捕获算法),码跟踪环的实现(例如:超前-滞后环) ③仿真时需注意发射端的伪码序列与接收端的伪码序列需保持不同步,通过②的 实现,完成伪码的同步。 - **Primary Language**: Matlab - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/kyshen/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2025-06-15 - **Last Updated**: 2025-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dsss ## 项目介绍 通信原理课程设计,直接序列扩频通信系统仿真设计 MATLAB实现 author:kyshen 2022/12/18 https://gitee.com/kyshen/dsss ## 原理 ### 信号捕获 信号捕获是指接收机本地信号与接收信号载波频率、伪码相位粗略同步的过程。码相位和多普勒频率的不确定性使得接收信号的伪码相位和载波频率对于接收机而言是未知的。GPS信号捕获实际包括伪码捕获和载波捕获两个方面。**FFT伪码捕获法**相比于顺序搜索法具有处理速度快的优点,适合软件处理。实际上可以利用FFT变换进行载波频率的捕获,在弱信号条件下需要提高频率捕获精度以提高捕获相关峰值。 搜索接收信号与本地信号之间的相关值,取其最大值,若超过判决门限,则表明信号判决成功(最大值小于判决门限则表明没有捕获到信号,需要重新调制本地载波频率),取出最大值对应的伪码相位和载波频率,进入**跟踪环**处理 捕获判决门限可以根据理论公式求得 ### 信号跟踪 信号捕获获得了GPS信号载波频率和伪码相位的粗略估计值,但是,随着时间增加,卫星和接收机的相对运动带来的多普勒效应使得载波频率和伪码相位出现偏差,这一偏差需要及时修正,否则接收机将失去对载波频率和伪码相位的锁定,这一修正的过程就是信号跟踪的过程。GPS信号跟踪应包括两部分,载波跟踪环(跟踪载波频率)和伪码跟踪环(跟踪伪码相位),两者均由求和累加器、环路鉴别器和环路滤波器组成,环路鉴别器确定跟踪环的类型,如锁相环(PLL)、科斯塔斯环(Costas PLL)、锁频环(FLL)或码跟踪环(DLL) GPS载波跟踪环中,包括频率跟踪环和相位跟踪环。采用**Costas锁相环**跟踪载波相位。 GPS相位跟踪环中,基带信号分别与超前(E)1/2码元,及时(P),滞后(L)1/2码元的本地C/A码相乘,然后求和累加,由码相位鉴别器计算出码相位误差,该误差经滤波后反馈到码生成器调整码相位 载波跟踪环和相位跟踪环中的鉴别器误差计算都有响应的算法 ## 代码使用说明 **dsss.m 是主程序** **在dsss_settings.m文件中设置好仿真时间,然后直接运行dsss.m即可(默认的仿真时间会仿真五个信息码元)** **visualization.m 文件包含可视化程序,运行dsss.m时会自动运行** **查看变量data,获取发送数据,对比解调端输出波形** ## 注意 解调端的输出波形,每个码元刚开始时会有幅度较大的尖刺,这是因为每个码元进行一次载波同步,而载波同步需要一定时间才能完全跟踪,导致每个码元刚开始时载波没有跟踪上,解调出现问题。 test_1200是本人仿真时间1.2s,跑了1200个信息码(运行时间约40分钟)的结果,发现没有误码。 figs文件夹内有关于C/A码的仿真图,由test_CAcode.m运行得到