%捕获失败
display('Fail!!!'); End
附录B
function [GoldSeq] = dyc_gold_gen_v3()
M_base = 8;
M1 = [2 0 1 1]; M2 = [2 4 1 5]; Mfb_len = 11;
Mfinal_len = 1023;
M1origin_len = length(M1); M2origin_len = length(M2);
Mfb_ratio = log2(M_base);
M1fb_raw_len = M1origin_len * Mfb_ratio; M1fb_raw = zeros(1, M1fb_raw_len); for M1fb_reg_i = 1 : M1origin_len for M1fb_bit_i = 1 : Mfb_ratio
M1fb_raw((M1fb_reg_i - 1) * Mfb_ratio + M1fb_bit_i) mod(fix(M1(M1fb_reg_i) / (2 ^ (Mfb_ratio - M1fb_bit_i))), 2); end end
M1fb = M1fb_raw((M1fb_raw_len - Mfb_len + 1) : M1fb_raw_len);
M2fb_raw_len = M2origin_len * Mfb_ratio; M2fb_raw = zeros(1, M2fb_raw_len); for M2fb_reg_i = 1 : M2origin_len for M2fb_bit_i = 1 : Mfb_ratio
M2fb_raw((M2fb_reg_i - 1) * Mfb_ratio + M2fb_bit_i) mod(fix(M2(M2fb_reg_i) / (2 ^ (Mfb_ratio - M2fb_bit_i))), 2); end end
M2fb = M2fb_raw((M2fb_raw_len - Mfb_len + 1) : M2fb_raw_len);
M1regs_len = length(M1fb); M2regs_len = length(M2fb);
= =
M1len_period = Mfinal_len; M2len_period = Mfinal_len;
M1regs_s = zeros(1, M1regs_len); M1regs_s(M1regs_len) = 1;
M2regs_s = zeros(1, M2regs_len); M2regs_s(M2regs_len) = 1;
M1regs_m1 = M1regs_s;
M1regs_m2 = zeros(1, M1regs_len);
M2regs_m1 = M2regs_s;
M2regs_m2 = zeros(1, M2regs_len);
M1regs_e = zeros(1, M1len_period); M2regs_e = zeros(1, M2len_period);
M1regs_e(1) = M1regs_s(M1regs_len); for M1_ri = 2 : M1len_period
M1regs_m2(1) = mod(sum(M1fb .* M1regs_m1), 2);
M1regs_m2(2 : M1regs_len) = M1regs_m1(1 : (M1regs_len - 1)); M1regs_m1 = M1regs_m2;
M1regs_e(M1_ri) = M1regs_m1(M1regs_len); end
M2regs_e(1) = M2regs_s(M2regs_len); for M2_ri = 2 : M2len_period
M2regs_m2(1) = mod(sum(M2fb .* M2regs_m1), 2);
M2regs_m2(2 : M2regs_len) = M2regs_m1(1 : (M2regs_len - 1)); M2regs_m1 = M2regs_m2;
M2regs_e(M2_ri) = M2regs_m1(M2regs_len); end
GoldSeq = mod((M1regs_e + M2regs_e), 2);