基于matlab的CBOC信号调制解调仿真,输出其相关性,功率谱以及频偏跟踪

简介: 基于matlab的CBOC信号调制解调仿真,输出其相关性,功率谱以及频偏跟踪

1.算法描述

  BOC-Binary Offset Carrier,也叫二进制偏置载波调制,是在Galileo系统设计过程中提出的一种新的载波调制方式。它的基本原理是在原有的BPSK调制基础上,再增加一个二进制副载波(目前主要是由正弦或余弦型符号函数构成的副载波,即形似sgn(sin(t))或sgn(cos(t)),以正弦或余弦信号为参数的符号函数)。这种调制方式的最大特点是,其功率谱的主瓣分裂成对称的两部分,而且根据选择的参数不同,两个分裂主瓣的距离也可以变化。一般常用的表示方式为BOC(m,n)的形式,其中m表示的是副载波频率,n表示的是扩频码速率,具体数值分别是1.023MHz的m倍和n倍。

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

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

1.png

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

2.png
3.png

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

4.png
5.png

 

   MBOC-Multiplexed Binary Offset Carrier,从英文名可以看出这就是BOC副载波调制信号的一种复用方式。这是由Guenter W.Hein领导的GPS信号设计团队和Jhon W.Betz领导的Galileo信号设计团队共同提出的一种调制方式。目前经过优选,主要讨论和设计应用的是BOC(1,1)和BOC(6,1)的组合。具体根据数据通道和导频通道的功率分配要求,以及采取具体的调制方式不同,可以有多种组合,具体可参考相关文献。目前基本都是从BOC(1,1)和BOC(6,1)的功率分配角度来讨论的。

    MBOC只是一种信号复用的统称,其具体实现目前主要有两种,即CBOC(Composite BOC)和TMBOC(time-multiplexed BOC)。CBOC简单的说,是根据BOC(1,1)和BOC(6,1)不同的功率(幅值)权重构成的4电平符号来实现的调制,是幅值的复合式实现。而TMBOC则是一种类似时分复用的方式,即规定一组码片的长度,在这组码片里固定的几个位置里是BOC(6,1),其他位置都是BOC(1,1)。两种方式都能满足功率谱分配的要求,但在功率谱谱形上还是有所不同的。

2.仿真效果预览
matlab2022a仿真结果如下:

6.png
7.png
8.png
9.png

3.MATLAB部分代码预览

BOCm          = 10;
BOCn          = 2;
%副载波频率
fs            = BOCm*f0;
%码速率
fc            = BOCn*f0; 
fIF           = 2*fs;
fsamp         = 24*f0;%采样频率
%一个周期的采样点
n             = fsamp/1000;
KK            = 1000;
%多普勒频率
fd            = 0;
Nn            = n;
nn            = [0:Nn-1];
CAIndex       = floor(fsamp/fc);
%数据通道的卫星号
Ndata         = 1;
%导频通道的卫星号
Npilot        = 2;
%BOC
[BOC_data,BOC_pilot] = func_BOC_Signal(Ndata,Npilot,Nn,CAIndex);
%移动码片
BOC_data_code        = [BOC_data(n-KK:n),BOC_data(1:n-KK-1)]; 
BOC_pilot_code       = [BOC_pilot(n-KK:n),BOC_pilot(1:n-KK-1)];
t                    = [1:Nn]/fsamp;
%输入信号
cosCarr              = cos(2*pi*(fIF + fd)*t);
sinCarr              = sin(2*pi*(fIF + fd)*t);
Signal_Boc           = 2*BOC_data_code .* cosCarr + 2*BOC_pilot_code .* sinCarr;
 
%仿真数据长度
in_signal            = Signal_Boc;
 
figure,
plot(in_signal);
acf_cboc = xcorr(in_signal,in_signal);
 
figure,
plot(acf_cboc);
title('CBOC ACF');
 
psd_cboc = fftshift(fft(acf_cboc));
figure,
plot(abs(psd_cboc));
title('CBOC PSD');
 
%加高斯白噪声
in_signal = awgn(in_signal,SNR,'measured');
 
%对比算法BPSK like
[Y,Yi]    = BPSK_like(in_signal,n,Nn,fsamp,f0,fIF);
A_049
相关文章
|
21天前
|
数据可视化
基于MATLAB的OFDM调制发射与接收仿真
基于MATLAB的OFDM调制发射与接收仿真
|
11天前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
11天前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
21天前
|
监控
基于MATLAB/Simulink的单机带负荷仿真系统搭建
使用MATLAB/Simulink平台搭建一个单机带负荷的电力系统仿真模型。该系统包括同步发电机、励磁系统、调速系统、变压器、输电线路以及不同类型的负荷模型。
349 5
|
17天前
|
机器学习/深度学习 边缘计算 算法
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
107 0
|
22天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
22天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
139 14
|
17天前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
|
17天前
|
机器学习/深度学习 算法 安全
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
|
17天前
|
canal 算法 vr&ar
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)

热门文章

最新文章

下一篇
oss教程