⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled2.m

📁 PN中的GOLD码生成源程序(matlab)
💻 M
字号:
clc;
clear all;
GoldGenPoly = [1 1 0 0 1 0 1 0 0 0 0 1 1;1 1 1 1 1 0 0 1 0 0 1 1 1;1 1 1 1 1 1 0 1 1 1 0 1 1]; % 三个m序列的生成多项式
pn_len = 2^(size(GoldGenPoly,2)-1)-1;
ini1_state = [0 0 1 0 0 1 0 0 1 0 0 0]; % X1A序列的初始状态
ini2_state = [0 1 0 1 0 1 0 1 0 1 0 0]; % X1B序列的初始状态
ini3_state = [1 0 0 1 0 0 1 0 0 1 0 1]; % X2A序列的初始状态
%--------------------------------------------------------------------------------------
% -- to generate the 1st and 2nd m sequences. then the gold sequence is generated
for i=1:pn_len
m1_out(i) = ini1_state(length(ini1_state)); 
m2_out(i) = ini2_state(length(ini2_state));
m3_out(i) = ini3_state(length(ini3_state));

s1_step = sum([ini1_state(12),ini1_state(11),ini1_state(8),ini1_state(6)]);
s2_step = sum([ini2_state(12),ini2_state(11),ini2_state(10),ini2_state(9),ini2_state(8),ini2_state(5),ini2_state(2),ini2_state(1)]);
s3_step = sum([ini3_state(12),ini3_state(11),ini3_state(10),ini3_state(9),ini3_state(8),ini3_state(7),ini3_state(5),ini3_state(4),ini3_state(3),ini3_state(1)]);
for j=12:-1:2
ini1_state(j) = ini1_state(j-1);
ini2_state(j) = ini2_state(j-1);
ini3_state(j) = ini3_state(j-1); 
end

ini1_state(1) = mod(s1_step,2);
ini2_state(1) = mod(s2_step,2);
ini3_state(1) = mod(s3_step,2);
%goldpn(i) = xor(m1_out(i),m2_out(i));
end
%goldpn = goldpn.*2-1;
m1_out=m1_out.*2-1;
m2_out=m2_out.*2-1;
m3_out=m3_out.*2-1;
%fid0=fopen('e:\source\biao_nco_sin.dat','r');
m1=m1_out(1:4092);
m2=m2_out(1:2500);
m3=m3_out(1:3600);
save ('m1.mat');
save ('m2.mat');
save ('m3.mat');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -