m序列产生及其特性实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南科技大学
移动通信实验报告
姓 名: 吴文建 学 号: 1208030104
专业班级: 应用电子技术教育一班 实验名称: m 序列产生及其特性实验 实验目的: 掌握m 序列的特性、产生方法及其应用 实验仪器:1、pc 机一台 2、 实验原理:
1、m 序列的产生 :m 序列是由带线性反馈的移存器产生的。结构如图:
a n-1
a n-r
...
a n-3
a n-2
C 1
C r
C 3C 2
...C 0
输出
输出为反馈移位寄存器的结构,其中an-i 为移位寄存器中每位寄存器的状态,Ci 为第i 位寄存器的反馈系数。Ci =1表示有反馈,Ci =0表示无反馈。
一个线性反馈移位寄存器能否产生m 序列,取决于它的反馈系数Ci (例如上图的C3)。
对于m 序列,Ci 的取值必须按照一个本原多项式:
∑==n
i i
i x C x f 0
)(中的二进制系数来取值。
n 级移位寄存器可以产生的m 序列个数由下式决定:
r
N r )
12(-Φ=
其中φ(x )为欧拉函数,表示小于等于x 并与x 互质的正整数个数(包括1在内)。 表1-1-1列出了部分m 序列的反馈系数C i ,按照下表中的系数来构造移位寄存器,就能产生相应的m 序列。
表1-1-1 m序列的反馈系数表
m序列的级数n m序列的周期P 反馈系数Ci(八机制)
3 7 13
4 1
5 23
5 31 45,67,75
6 63 103,147,155
7 127 203,211,217,235,277,313,325,345,367
8 255 435,453,537,543,545,551,703,747
9 511 1021,1055,1131,1157,1167,1175
10 1023 2011,2033,2157,2443,2745,3271
11 2047 4005,4445,5023,5263,6211,7363
12 4095 10123,11417,12515,13505,14127,15053
13 8192 20033,23261,24633,30741,32535,37505
14 16383 42103,51761,55753,60153,71147,67401
15 32765 100003,110013,120265,133663,142305
m序列的具有以下性质:
(1)均衡性。m序列中0和1的数目基本相等
(2)游程分布
(3)移位相加性
(4)相关特性。自相关波形如图1-1-3所示
-1/p 1
P
图1-1-3 m序列的自相关波形(5)周期性
(6)伪随机性。分布无规律,具有与白噪声相似的伪随机特性
实验步骤:
(1)预习m序列产生原理及其性质,独立设计m序列产生方法。
(2)画出m序列仿真流程图
(3)编写MATLAB程序并上机调试。
(4)验证m序列的相关性质。
(5)撰写实验报告。
实验数据、结果表达及误差分析:
仿真实验结果如图所示:
编写程序如下:
clear
clc
G=63
sd1=[0 0 0 0 1];
PN1=[];
for j=1:G
PN1=[PN1 sd1(5)];
if sd1(1)==sd1(4)
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序列')
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
sd2(1)=sd2(2);
sd2(2)=sd2(3);
sd2(3)=sd2(4);
sd2(4)=sd2(5);
sd2(5)=temp3;
end
subplot(3,1,2)
stem(PN2)
title('使用生成多项式(67)8=(110111)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);