北斗 B1I信号扩频码自相关和互相关

该博客详细介绍了北斗B1I信号扩频码的生成过程,通过抽头法和初相法计算自相关和互相关函数。利用FFT进行傅里叶变换,并计算信号的自相关函数,展示了相关函数的图形。同时,提供了函数调用示例,展示不同参数下的信号自相关特性。
摘要由CSDN通过智能技术生成

北斗 B1I信号扩频码自相关和互相关

原理图

源码

此次产生的码片有2046个, 和上次差别不是很大 ,位宽多了一位,其他抽头部分有所改变,本次采用的依然是抽头法 原理图中的 G1/G2序列初始化均为01010101010 十一位
在这里插入图片描述
抽头法就看第三列,第四第五列为初相法所采用的部分
在这里插入图片描述
这是各个模2(亦或)的情况

function xk1= B1I(num1,num2,i)


Sta_Xor_Num=[1 1 1 1 1 1 1 1 2 3 3 3;3 4 5 6 8 9 10 11 7 4 5 6];%选择卫星编号
array1=[0 1 0 1 0 1 0 1 0 1 0];%初始化 G1序列
array2=[0 1 0 1 0 1 0 1 0 1 0];

for i1=1:2046%b1I有个码片2046
    newbit1=mod(array1(1)+array1(7)+array1(8)+array1(9)+array1(10)+array1(11),2);%G1亦或
    newbit2=mod(array2(1)+array2(2)+array2(3)+array2(4)+array2(5)+array2(8)+array2(9)+array2(11),2);%G2
    xor_out=mod(array2(Sta_Xor_Num(1,num1))+array2(Sta_Xor_Num(2,num2)),2);%输出抽头数
    B1I_Out(i1)=mod(xor_out+array1(11),2);%输出
    array1=[newbit1 array1(1:10)]; %循环重新赋值
    array2=[newbit2 array2(1:10)];
end
B1I_Out(B1I_Out==0)=-1;
len=length(B1I_Out);
figure(i);
plot(1:len,B1I_Out);
axis([1 len+20 -1.2 1.2]);
cacode1=[B1I_Out B1I_Out];%复制延长
len1=length(cacode1);
% rm1=xcorr(B1I_Out)/len1;
xk1=fft(cacode1,len1);%傅里叶变换到频域
rm1=(ifft(conj(xk1).*xk1))/(2*len);%共轭相乘取模,傅里叶逆变换,取实部(求自相关)
figure(i+2);

plot(0:len1-1,rm1);
axis([0 len1+25 -0.25 1.25])
title('信号的自相关函数');
end


以上为函数部分

clc
clear
close all
k1= B1I(1,1,1);
k2= B1I(2,2,2);
len=length(k2)
rm1=(ifft(conj(k1).*k2))/(2*len);%共轭相乘取模,傅里叶逆变换,取实部(求自相关)
figure(5);

plot(0:len-1,rm1);
axis([0 len1+25 -0.25 1.25])
title('信号的自相关函数');

函数调用

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值