首页 > 其他分享 >基于matlab的BOC调制信号捕获仿真

基于matlab的BOC调制信号捕获仿真

时间:2023-01-15 20:34:55浏览次数:32  
标签:仿真 settings ii matlab 信号 载波 BOC 调制

1.算法描述

       随着全球导航卫星系统的高速发展,导航系统的数量也越来越多,比如使用最广泛的GPS导航系统,以及越来越备受关注的中国北斗导航系统等.因此导航频段变得越来越拥挤,且各个频段内的信号相互干扰,在如此情况下,一种二进制偏移载波(Binary Offset Carrier,BOC)调制信号被成功提出,用来解决该问题.而伴随着对BOC信号的深入研究,一系列BOC衍生信号也被提出来应用于各个导航系统中.此外,实际环境中存在着许多干扰因素,给BOC及其衍生信号的捕获带来了困难,因此也成为了国内外学者研究的热点与难点.

 

       BOC 调制就是在原有 BPSK 调制的基础上,再加上一个二进制副载波对 BPSK 信号进行二次扩频。由于方波易于生产,因此采用方波来替代正弦波,这样可以节约硬件资源。一般用 BOC(sf ,cf)来表示sf 代表副载波频率,cf 代表伪码速率。因为sf 和cf都是 1.023MHz 的整数倍,所以文献中用 BOC(m,n)的表示形式,其中 m 表示的是副载波频率,n 表示的是扩频码速率,它们分别表示 1.023MHz 的 m 倍和 n 倍。

 

       BOC 调制的频谱可以分为两个对称独立的边带,它的自相关函数是一种多峰结构,其中主峰较窄,所以有可能对接收机处理方式做一些改变,以便在实现时获得性能的改善。另外一种可行的方法是使鉴相器工作在一个带宽信号的相对函数上,进而保持对主峰的粗跟踪,之后再转入用双边带信号工作的鉴相器,来作精跟踪。由此可见,BOC 调制信号的频谱中上边带和下边带的冗余,自相关函数中的多峰,如果加以开发利用有可能在接收机的信号截获、码跟踪以及数据解调等处理中带来利益。

 

      BOC 调制信号是在载波调制前对扩频信号用副载波进行二次扩频。其流程如下图所示:

 

 

正、余弦BOC调制信号的码片波形可以分别表示为

 

正弦BOC调制信号BOCs(m,n)和余弦BOC调制信号BOCc(m,n)的自相关函数分别为

 

boc和bpsk区别很多:

 

1 功率谱不同,boc将基带信号能量搬移到±fs处,bpsk基带信号能量集中在0频。boc的这种特性使得一个频点可以发射多个信号分量。

 

2 相关函数不同,boc有多个峰,会使得接收机产生误锁,而bpsk不会。

 

总结,boc是的导航信号调制方式设计更具灵活性,但接收处理更有挑战。bpsk接收处理简单。

 

2.仿真效果预览

matlab2022a仿真结果如下:

 

3.MATLAB部分代码预览

 

for ii = 1:length(Visible_sv)
    %输出即将赋值的可见星号码
    PRN = Visible_sv(ii);
    fprintf('%02d ', PRN);  
    %产生随机的多普勒偏移频率
    frqshift(ii) = settings.acqSearchBand * 1e3 * rand(1,1) - ...
        (settings.acqSearchBand/2) * 1e3;       
    %此时载波频率
    frqBins(ii) = settings.IF  + frqshift(ii);  
    %产生随机导航数据为1或-1
    NavData = randi([0,1],1,ceil(navdatLength+1))*2 - 1;
    %每个采样点所对应的导航数据号
    dataValueIndex = floor((ts * (1:settings.msToProcess*1e-3*settings.samplingFreq)) / ...
                               (1/50));          
    %每个采样点所对应的导航数据
    NavDataS = NavData(dataValueIndex + 1);      
    clear dataValueIndex
    %利用generateCAcode函数产生每个可见星对应的C/A码
    caCode1023 = generateCAcode(PRN);           
    %每个采样点所对应的C/A码片序号
    codeValueIndex = floor((ts * (1:settings.msToProcess*1e-3*settings.samplingFreq)) / ...
                               (1/settings.codeFreq));
    %产生每个采样点所对应的随机相位
    codePhase(ii) = floor(1023*rand(1,1));            
    %每个随机相位下采样点对应的C/A码片数据
    codePhase_o=codePhase(ii);
    longCaCode = caCode1023((rem(codeValueIndex + ...
        settings.CAcodeLength - codePhase(ii), settings.CAcodeLength) + 1));
    clear caCode1023                                 
    
    %产生副载波并与伪码相乘得到BOC信号码片数据
    subCarr = square(settings.subcarrFreq * phasePoints); %sign(sin(settings.subcarrFreq * phasePoints));
    longBocCode = longCaCode.*subCarr;               
    clear longCaCode subCarr
    %产生正弦余弦载波信号
    sinCarr = sin(frqBins(ii) * phasePoints);         
    cosCarr = cos(frqBins(ii) * phasePoints);         
    
    %产生正交以及同向的BOC调制信号
    I1      = cosCarr .* longBocCode .* NavDataS;
    Q1      = sinCarr .* longBocCode .* NavDataS;
    clear NavDataS longBocCode sinCarr cosCarr      
    
    %多个可见星正交以及同向的BOC调制信号叠加,即模拟实际情况
    signalI = signalI + I1;
    signalQ = signalQ + Q1;                          
    clear I1 Q1 
end
A48

 

  

 

标签:仿真,settings,ii,matlab,信号,载波,BOC,调制
From: https://www.cnblogs.com/51matlab/p/17054070.html

相关文章

  • RS+BCH级联编译码误码率性能matlab仿真
    1.算法描述在实际情况中,在光通信信道中出现的错误有单独随机出现的误码,也有突发出现的无码,为了更好的提升光通信的性能,需要使用级联码。级联码在进行编码的时候,将k1k2......
  • 基于matlab的BOC调制信号捕获仿真
    1.算法描述随着全球导航卫星系统的高速发展,导航系统的数量也越来越多,比如使用最广泛的GPS导航系统,以及越来越备受关注的中国北斗导航系统等.因此导航频段变得越来越拥挤......
  • RS+BCH级联编译码误码率性能matlab仿真
    1.算法描述        在实际情况中,在光通信信道中出现的错误有单独随机出现的误码,也有突发出现的无码,为了更好的提升光通信的性能,需要使用级联码。       ......
  • Matlab笔记--Matlab概述(初登场)
    Matlab概述安装MATLAB教程可以参考这里:https://www.cnblogs.com/sixuwuxian/p/15858196.htmlMatlab的启动右键图标,选择属性,可以设置Matlab的启动目录Matlab的退出1、......
  • 基于CEM算法的三维人脸模型贴图matlab仿真
    1.算法描述采用三维人脸贴图算法conformalenergyminimization,将二维图片贴到三维人脸模型中。2.仿真效果预览matlab2022a仿真结果如下:3.MATLAB部分代码预览clear;c......
  • 基于CEM算法的三维人脸模型贴图matlab仿真
    1.算法描述采用三维人脸贴图算法conformalenergyminimization,将二维图片贴到三维人脸模型中。 2.仿真效果预览matlab2022a仿真结果如下: 3.MATLAB部分代码预览......
  • RS编码译码误码率性能matlab仿真
    1.算法描述        纠错编码技术在卫星通信、移动通信及数字存储等领域已获得了广泛的应用。RS码作为其中最重要的码类之一,具有优良的纠随机错误和突发错误的能......
  • BCH编码译码误码率性能matlab仿真
    1.算法描述       BCH编译码是一种纠错能力强,构造简单的信道编译码。BCH编译码的生成多项式可以由如下的式子表示: ①BCH码是一种纠错码、线性分组码、循环码......
  • Matlab-simulink仿真FM(PM)调制
    1、频率调制原理   ①、从公式可以看出FM和PM就是是否对基带信号进行积分的区别,FM需要积分,PM不需要积分; ②、将基带信号(PM)或积分后的基带信号(FM),直接放入(控制......
  • 【MATLAB优化算法】遗传算法理论部分
    遗传算法引言遗传算法(GeneticAlgorithm,GA)是模拟生物在自然境中的遗传和进化的过程而形成的自适应全局优化的搜索算法。它借用了生物遗传学的观点,通过自然选择、遗传和变......