當前位置:網站首頁>基於matlab的CBOC信號調制解調仿真,輸出其相關性,功率譜以及頻偏跟踪

基於matlab的CBOC信號調制解調仿真,輸出其相關性,功率譜以及頻偏跟踪

2022-07-23 14:59:26我愛C編程

目錄

1.算法描述

2.部分程序

3.部分仿真圖預覽

4.源碼獲取方式


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

版權聲明
本文為[我愛C編程]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/204/202207230946350438.html

隨機推薦