当前位置:网站首页>基於matlab的CBOC信號調制解調仿真,輸出其相關性,功率譜以及頻偏跟踪
基於matlab的CBOC信號調制解調仿真,輸出其相關性,功率譜以及頻偏跟踪
2022-07-23 14:59:00 【我愛C編程】
目錄
1.算法描述
BOC-Binary Offset Carrier,也叫二進制偏置載波調制,是在Galileo系統設計過程中提出的一種新的載波調制方式。它的基本原理是在原有的BPSK調制基礎上,再增加一個二進制副載波(目前主要是由正弦或餘弦型符號函數構成的副載波,即形似sgn(sin(t))或sgn(cos(t)),以正弦或餘弦信號為參數的符號函數)。這種調制方式的最大特點是,其功率譜的主瓣分裂成對稱的兩部分,而且根據選擇的參數不同,兩個分裂主瓣的距離也可以變化。一般常用的錶示方式為BOC(m,n)的形式,其中m錶示的是副載波頻率,n錶示的是擴頻碼速率,具體數值分別是1.023MHz的m倍和n倍。
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.部分程序
f0 = 1.023e6;%基准頻率
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);3.部分仿真圖預覽




4.源碼獲取方式
點擊下載鏈接:
基於matlab的CBOC信號調制解調仿真,輸出其相關性,功率譜以及頻偏跟踪+程序操作視頻
獲取方式2:
博客資源項,搜索和博文同名資源。
獲取方式3:
如果下載鏈接失效,加博主微信聯系。
A_048
边栏推荐
- Oracle 报表常用sql
- 直播课堂系统03补充-model类及实体
- 【软件测试】如何梳理你测试的业务
- [turn] functional area division based on poi ()
- 什么是Per-Title编码?
- Version correspondence between numpy and pytorch
- Kettle implements shared database connection and insert update component instances
- Fastapi application joins Nacos
- Regular expression common syntax parsing
- 什么是Promise?Promise有什么好处
猜你喜欢

Towhee weekly model

Program design of dot matrix Chinese character display of basic 51 single chip microcomputer

numpy和pytorch的版本对应关系

c语言:深度刨析const关键字

Use of KOA framework

初识C语言函数

基于nextcloud构建个人网盘
![[test platform development] 21. complete sending interface request and display response header information](/img/53/42411ceb6e0e304355ddc396ea2922.png)
[test platform development] 21. complete sending interface request and display response header information

Redis | 非常重要的中间件

What is per title encoding?
随机推荐
【无标题】
直播课堂系统03补充-model类及实体
基于PSO优化的多目标最优值求解matlab仿真
Generate order number
粒子边界碰撞的处理
MySQL unique index has no duplicate value, and the error is repeated
[applet automation minium] i. framework introduction and environment construction
Advanced operation and maintenance 02
@FeignClient使用详细教程(图解)
linux定时备份数据库脚本
Map structure stored in the room of jetpack series
初识C语言函数
C language introduction practice (11): enter a group of positive integers and sum the numbers in reverse order
Regular expression common syntax parsing
Program design of dot matrix Chinese character display of basic 51 single chip microcomputer
Mathematical function of MySQL function summary
什么是Per-Title编码?
[untitled]
[applet automation minium] III. element positioning - use of wxss selector
C language project practice: 24 point game calculator (based on knowledge points such as structure, pointer, function, array, loop, etc.)