1.1简介m序列
m序列是最长线性反馈移位寄存器序列的简称。它是由带线性反馈的移存器产生的周期最长的序列。一般来说,一个n级线性反馈移存器可能产生的最长周期等于(2^n -1)。
m序列是一种典型的伪随机序列。在通信领域有着广泛的应用,如扩频通信、卫星通信的码分多址(CDMA),数字数据中的加密、加扰、同步、误码率测量等领域。
1.2本原多项式
matlab程序设计
function mseq=mseq(t)
n = 5 ;
N = 2^n - 1 ;
reg = [1 0 1 0 1 ] ;
reg_1 = [] ;
for i = 1 :N
reg_1(i) = reg(5) ;
feedback = mod(sum(reg.*t),2);
reg(2:5) = reg(1:4);
reg(1) = feedback ;
end
mseq = reg_1;
figure(1)
subplot (3,1,1)
stem(mseq)
m1 = 2*mseq([0 0 1 0 1 ]) - 1;
m2 = 2*mseq([1 0 1 1 1 ])- 1 ;
m3 = [m1,m1,m1,m1,m1];
m4 = [m2,m2,m2,m2,m2];
N = 2^5-1;
a=[];
b=[];
for i=1 :4*N
a(i) = sum(m3(i+1:N+i).*m3(1:N));
b(i) = sum(m4(i+1:N+i).*m3(1:N));
end
a = a/N;
b = b/N;
figure (1)
subplot(2,1,1);
plot(a);
subplot(2,1,2);
plot(b);