您的当前位置:首页正文

m序列产生

2024-07-23 来源:易榕旅网
m序列产生

试验目的:

1. 熟悉m序列,进一步了解m序列原理。 2. 学会m序列的产生。

实验内容:

1. 编写MATLAB程序仿真程序; 2. 对程序做修改,进行仿真;

3. 分析仿真中观察的数据,撰写实验报告。

试验代码

clear clc

G=63;%码长

%使用生成多项式(45)8=(100101)2产生第一个m序列 %(n)8代表八进制

sd1=[0 0 0 0 1];%寄存器初始状态 PN1=[];%第一个序列 for j=1:G

PN1=[PN1 sd1(5)]; if sd1(1)==sd1(3) temp1=0; else temp1=1; end

sd1(1)=sd1(2); sd1(2)=sd1(3); sd1(3)=sd1(4); sd1(4)=sd1(5); sd1(5)=temp1; end

subplot(3,1,1) stem(PN1)

title('使用生成多项式(45)8=(100101)2产生第一个m序列')

%使用生成多项市(67)8=(110111)2产生第二个m序列 sd2=[0 0 0 0 1]%寄存器初始状态 PN2=[]; for j=1:G

PN2=[PN2 sd2(5)]; if sd2(1)==sd2(2) temp1=0; else temp1=1; end

if sd2(4)==temp1 temp2=0; else

temp2=1; end

if sd2(5)==temp2 temp3=0; else temp3=1; end

sd1(1)=sd1(2); sd1(2)=sd1(3); sd1(3)=sd1(4); sd1(4)=sd1(5); sd1(5)=temp3; end

subplot(3,1,2) stem(PN2)

title('使用生成多项式(67)8=(110111)2产生第二个m序列')

%使用生成多项市(75)8=(111101)2产生第三个m序列 sd3=[0 0 0 0 1]%寄存器初始状态 PN3=[]; for j=1:G

PN3=[PN3 sd3(5)]; if sd3(1)==sd3(2) temp1=0; else temp1=1; end

if sd3(3)==temp1 temp2=0; else

temp2=1; end

if sd3(4)==temp2 temp3=0; else temp3=1; end

sd3(1)=sd3(2); sd3(2)=sd3(3); sd3(3)=sd3(4); sd3(4)=sd3(5); sd3(5)=temp3; end

subplot(3,1,3) stem(PN3)

title('使用生成多项式(75)8=(111101)2产生第三个m序列')

因篇幅问题不能全部显示,请点此查看更多更全内容