📄 createboc.m
字号:
function BOC = CreateBOC(bz);
%用10位移位寄存器生成pn序列及相应的boc码
%bz为boc(bz*n,n)中副载波频率与pn码速率的比值:
%boc(n,n) --> bz=1
%boc(2n,n) --> bz=2
%boc(7n,n) --> bz=7
%kz为采样率的扩展
nn = 10;
State1 = [1 0 0 0 0 0 0 0 0 0];
GenerateFunction = [1 0 1 0 0 0 0 1 1 0];
%生成PN序列
State2 = State1;
for n = 1:2^nn-1-nn
SequenceNew = mod(sum(GenerateFunction.*State1),2);
State2 = [State2 SequenceNew];
State1 = State2((length(State2)-nn+1):length(State2));
end
PN1 = [];
PN2 = [];
kz0 = 2*bz;
for n = 1:1:length(State2)
PN1((kz0*(n-1)+1):kz0*n) = State2(n)*ones(1,kz0);
end
PN2 = PN1*(-2)+1;
%生成副载波序列
fz = 1;
BOCFZ = [];
for n = 1:kz0.*(2^nn-1)
Newboc = -fz;
BOCFZ = [BOCFZ Newboc];
fz = -fz;
end
BOCFZ;
%生成BOC(n,n)序列
BOC = [PN2.*BOCFZ];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -