系统辨识实验1·哈工大
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 白噪声和M序列的产生
实验报告
哈尔滨工业大学
航天学院控制科学与工程系
专业:自动化
班级:1004105
姓名:
学号:**********
日期:2013 年9 月24 日
1.实验题目:白噪声和M序列的产生
3、M序列生成原理
用移位寄存器产生M序列的简化框图如下图所示。该图表示一个由4个双稳态触发器顺序连接而成的4级移位寄存器,它带有一个反馈通道。当移位脉冲来到时,每级触发器的状态移到下一级触发器中,而反馈通道按模2加法规则反馈到第一级的输入端。
5.程序框图实验1-1
实验1-2
实验1-3
6.程序代码
实验1
-num1:
Xulie_Length = 1200;
A = 65539;
M = 2147483647;
b = 0;
R(Xulie_Length) = 0;
X(1) = 20140104;
R(1) = X(1) / M;
for n = 1 : (Xulie_Length - 1)
X(n + 1) = mod((A * X(n) + b), M);
R(n + 1) = X(n + 1) / M;
end
figure(1);
plot(R);
figure(2);
hist(R);
mean_R = mean(R)
var_R = var(R)
实验2
Num2
Xulie_Length = 1200;
A = 65539;
M = 2147483647;
b = 0;
R(Xulie_Length) = 0;
X(1) = 20140104;
R(1) = X(1) / M;
for n = 1 : (Xulie_Length - 1)
X(n + 1) = mod((A * X(n) + b), M);
R(n + 1) = X(n + 1) / M;
end
N = 12;
SEQ_LENGTH = 100;
G(SEQ_LENGTH) = 0;
for n = 1 : SEQ_LENGTH
for t = 1 : N
G(n) = G(n) + R(N * (n - 1) + t);
end
end
G = G - 6;
figure(3);
plot(G);
figure(4);
hist(G);
实验3
Num3
number = 2^6 - 1;
a = 1;
%手动初始化M
M(1)=1;
M(2)=0;
M(3)=0;
M(4)=1;
M(5)=1;
M(6)=0;
M_XuLie(number) = 0;
for n = 1 : number
temp = xor(M(6), M(5)); if(temp == 0)
M_XuLie(n) = a; else
M_XuLie(n) = -a; end
M(6) = M(5); M(5) = M(4); M(4) = M(3); M(3) = M(2); M(2) = M(1); M(1) = temp; end
stairs(M_XuLie); ylim([-1.5 1.5]);
7.实验结果及分析
1、生成均匀分布随机序列 (1)生成的0-1均布随机序列如下所示:
均值和方差的实际值:
num1
mean_R =
0.4799
var_R =
200
400
600
800
1000
1200
00.10.20.30.40.50.60.70.80.9
1
0.0834
均值和方差理论值:
mean_R =0.5
var_R =1/12( = 0.083333)
结论:实际值与理论值已经相当接近。
(2)该随机序列落在10个子区间的频率曲线图如下:
结论:由图像可知,均匀性良好。 2、生成高斯白噪声
生成的白噪声如下图:
00.10.20.30.40.50.60.70.80.91
50
100
150
生成的白噪声的频率统计图如下:
结论:从结果图知,生成的白噪声基本服从N(0,1)分布。
3、生成M 序列
生成的M 序列如下(n = 63):
10
20
30
40
50
60
70
80
90
100
-3-2.5-2-1.5-1-0.500.511.5
2-3
-2.5-2-1.5-1-0.500.51 1.52
05
10
15
20
25
验证M 序列性质:
均衡特性:m 序列每一周期中 1 的个数比 0 的个数多 1 个(-a 和a 的个数差1) 测试程序:
number_a = sum(M_XuLie == a);
number_a_c = sum(M_XuLie == -a);
number_a
number_a_c 结果:
number_a =
31
number_a_c =
32
结论:从测试结果看性质成立
游程特性:m 序列的一个周期(p =2n -1)中,游程总数为2n -1。其中长度为k 的游程个数占游程总数的 1/2k =2-k ,而且,在长度为k 游程中,连 1游程与连 0 游程各占一半,其中 1≤k≤(n -2)。长为(n -1)的游程是连 0 游程, 长为 n 的游程是连 1 游程。 测试程序:
M_XuLie_Ext = [M_XuLie, -M_XuLie(end)];
run = int8(0);
test_number_a(6) = int8(0);
test_number_a_c(6) = int8(0);
for n = 1 : length(M_XuLie)
run = run + 1;
if(M_XuLie_Ext(n) ~= M_XuLie_Ext(n + 1))
if(M_XuLie_Ext(n) == a)
test_number_a(run) = test_number_a(run) + 1;
else
010203040506070
-1.5-1
-0.5
0.5
1
1.5