M序列及逆M序列程序及仿真图
一.程序:
clear all;
close all;% 二值伪随机信号(M序列) p=2000;
x1=1;x2=1;x3=1;x4=1;x5=1;x6=1;x7=1;x8=1; s=1;
for k=1:p
ms1(k)=xor(x1, s);
ms2(k)=xor(ms1(k),x3); ms(k)=xor(x5,ms2(k));
x8=x7;x7=x6;x6=x5;x5=x4;x4=x3;x3=x2;x2=x1;x1=ms(k); if ms==0 u(k)=-1; else u(k)=1; end
s=not(s);
ims(k)=xor(s,x8) end
subplot(2,1,1) stairs(ms);grid;
xlabel('k');ylabel('M序列幅值');title('M序列'); subplot(2,1,2) stairs(ims);grid;
xlabel('k');ylabel('逆M序列幅值');title('逆M序列');
二.仿真图:
M序列
M序列幅值
0.5
0200400600800
10001200k
逆M序列
1400160018002000
逆M序列幅值
0.5
0200400600800
1000k
12001400160018002000
图一