-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathgenMaincode_data.m
More file actions
50 lines (38 loc) · 1.57 KB
/
genMaincode_data.m
File metadata and controls
50 lines (38 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
%{
--------------------- 产生weil码 ----------------------------------------
1) 产生北斗B1C信号数据分量所需的主码
%}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Code = genMaincode_data(PRN)
N = 10243; % weil码长度
% 主码相位差w
w = [2678, 4802, 958, 859, 3843, 2232, 124, 4352, 1816, 1126, ...
1860, 4800, 2267, 424, 4192, 4333, 2656, 4148, 243, 1330, ...
1593, 1470, 882, 3202, 5095, 2546, 1733, 4795, 4577, 1627, ...
3638, 2553, 3646, 1087, 1843, 216, 2245, 726, 1966, 670, ...
4130, 53, 4830, 182, 2181, 2006, 1080, 2288, 2027, 271, ...
915, 497, 139, 3693, 2054, 4342, 3342, 2592, 1007, 310, ...
4203, 455, 4318];
% 主码截取点p
p = [699, 694, 7318, 2127, 715, 6682, 7850, 5495, 1162, 7682, ...
6792, 9973, 6596, 2092, 19, 10151,6297, 5766, 2359, 7136, ...
1706, 2128, 6827, 693, 9729, 1620, 6805, 534, 712, 1929, ...
5355, 6139, 6339, 1470, 6867, 7851, 1162, 7659, 1156, 2672, ...
6043, 2862, 180, 2663, 6940, 1645, 1582, 951, 6878, 7701, ...
1823, 2391, 2606, 822, 6403, 239, 442, 6769, 2560, 2502, ...
5072, 7268, 341];
% 生成B1C数据分量的主码
L = zeros(1,N);
% 计算长度为N的勒让德序列
for k = 1:N
t = mod((k-1)^2, N);
L(1,t+1) = 1;
end
% 利用勒让德序列生成B1C数据分量主码
Ckwp = zeros(1,N);
for k = 1:N
Ckwp(1,k) = xor(L(1, mod(k-1+p(PRN)-1, N)+1), L(1, mod(k-1+p(PRN)-1+w(PRN), N)+1));
end
% 截断
Code = Ckwp(1:10230);
end