当前位置:网站首页>基于matlab的BOC调制信号捕获仿真
基于matlab的BOC调制信号捕获仿真
2022-07-23 09:46:00 【我爱C编程】
目录
1.算法描述
随着全球导航卫星系统的高速发展,导航系统的数量也越来越多,比如使用最广泛的GPS导航系统,以及越来越备受关注的中国北斗导航系统等.因此导航频段变得越来越拥挤,且各个频段内的信号相互干扰,在如此情况下,一种二进制偏移载波(Binary Offset Carrier,BOC)调制信号被成功提出,用来解决该问题.而伴随着对BOC信号的深入研究,一系列BOC衍生信号也被提出来应用于各个导航系统中.此外,实际环境中存在着许多干扰因素,给BOC及其衍生信号的捕获带来了困难,因此也成为了国内外学者研究的热点与难点.
2.部分程序
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
end3.部分仿真图预览






4.源码获取方式
点击下载链接:
获取方式2:
博客资源项,搜索和博文同名资源。
获取方式3:
如果下载链接失效,加博主微信联系。
A_048
边栏推荐
- 494. Objectives and
- Official wechat product! Applet automation framework minium sharing Preview
- LeetCode-227-基本计算器||
- 【软件测试】盘一盘工作中遇到的 Redis 异常测试
- 读写锁ReadWriteLock还是不够快?再试试S…
- 21 - vertical traversal of binary tree
- [paper notes] mobile robot navigation method based on hierarchical depth reinforcement learning
- Transferred from Yuxi information disclosure: products such as mRNA covid-19 vaccine and Jiuzhou horse tetanus immunoglobulin are expected to be on the market within this year.
- Building personal network disk based on nextcloud
- 身份证号正则验证
猜你喜欢

Official wechat product! Applet automation framework minium sharing Preview

@FeignClient使用详细教程(图解)

What methods are called behind the use of objects

直播课堂系统03-model类及实体

MySQL unique index has no duplicate value, and the error is repeated

读写锁ReadWriteLock还是不够快?再试试S…

Live classroom system 03 supplement model class and entity

Version correspondence between numpy and pytorch

Regular expression common syntax parsing

Advanced operation and maintenance 02
随机推荐
Towhee weekly model
LeetCode-227-基本计算器||
[pyqt5 installation and use]
【测试平台开发】二十、完成编辑页发送接口请求功能
运维高级作业03
[untitled]
The accuracy of digital addition
How to realize 485 wireless communication between multiple sensors and Siemens PLC?
运维高级作业02
LZ77 file compression
AI acceleration gesture recognition experience based on efr32mg24
Leetcode-227-basic calculator||
Kettle implements shared database connection and insert update component instances
[WinForm] desktop program implementation scheme for screenshot recognition and calculation
FastAPI应用加入Nacos
【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块...
Live classroom system 01 database table design
mysql函数汇总之数学函数
Design and implementation of websocket universal packaging
Typora图床配置详细教程