PN序列生成器的基本结构为LFSR(linear feedback shift register),在通信领域PN序列可作为测试数据源或者扰码生成器使用。基本信息和结构可参考 Matlab中的PN序列产生模块说明
pn_sequence_setupex.png
上图中,按照Matlab定义,对应的生成多项式为z^6+z+1,即[6 1 0],或者[1 0 0 0 0 1 1]
参考生成代码
[17 3 0]生成matlab代码(标准参考为[17 14 0])
%% serial for PN17 [17,3,0]
pn = ones(1,17);
N = 2^17-1;
M = 2*N;
for i=1:M
outpn(1,i) = pn(17);
pn17 = pn(17);
pn14 = pn(14);
pn(17:-1:2) = pn(16:-1:1);
pn(1) = xor(pn17, pn14);
end
上面生成的PN17周期应为2^17-1
% verify the period of PN seq
equRcrd = 1;
for k = 1:N
if outpn(k) ~= outpn(k+N)
equRcrd = 0;
end
end
equRcrd
遍历性(部分的