(整理)实验1白噪声和M序列的产生

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1 白噪声和M序列的产生

实验报告

哈尔滨工业大学

航天学院控制科学与工程系

专业:自动化

班级:0904103

姓名:邱国锐

学号:1090410321

日期:2012 年9 月27 日

1.实验题目:白噪声和M序列的产生

3、M序列生成原理

用移位寄存器产生M序列的简化框图如下图所示。该图表示一个由4个双稳态触发器顺序连接而成的4级移位寄存器,它带有一个反馈通道。当移位脉冲来到时,每级触发器的状态移到下一级触发器中,而反馈通道按模2加法规则反馈到第一级的输入端。

4.实验对象或参数

1、生成均匀分布随机序列

(1)利用混合同余法生成[0, 1]区间上符合均匀分布的随机序列,并计算该序列的均值和方差,与理论值进行对比分析。要求序列长度为1200,推荐参数为a=65539,M=2147483647,0

(2)将[0, 1]区间分为不重叠的等长的10个子区间,绘制该随机序列落在每个子区间的频率曲线图,辅助验证该序列的均匀性。

(3)对上述随机序列进行独立性检验。(该部分为选作内容)

2、生成高斯白噪声

利用上一步产生的均匀分布随机序列,令n=12,生成服从N(0,1)的白噪声,序列长度为100,并绘制曲线。

3、生成M序列

M序列的循环周期取为

63

1

26=

-

=

P

N,时钟节拍Sec

1

=

∆t,幅度1

=

a,逻辑“0”为a,逻辑“1”为-a,特征多项式

65

()

F s s s

=⊕。

生成M序列的结构图如下所示。

要求编写Matlab程序生成该M序列,绘制该信号曲线,并分析验证M序列的性质。

C1C2C3C4C5C6 CP

M(6)

M(5)

+

M(4)

M(3)

M(2)

M(1)

M(0)

5.程序框图实验1-1

实验1-2

实验1-3

6.程序代码

%实验1-1

Xulie_Length = 1200;

A = 65539;

M = 2147483647;

b = 0;

R(Xulie_Length) = 0; X(1) = 199119;

R(1) = X(1) / M;

7.实验结果及分析

1、生成均匀分布随机序列 (1)生成的0-1均布随机序列如下所示:

200

400

600

800

1000

1200

00.10.2

0.30.40.50.60.70.80.91

计算序列的均值和方差 程序代码:

mean_R = mean(R) var_R = var(R)

均值和方差实际值: mean_R = 0.4969 var_R =

0.0837

均值和方差理论值: mean_R =0.5

var_R =1/12( = 0.083333)

结论:容易看到,实际值与理论值较接近。

(2)该随机序列落在10个子区间的频率曲线图如下:

结论:从结果图可以容易看到,该序列的均匀性较好。 2、生成高斯白噪声

生成的白噪声如下图:

-2.5

-2-1.5-1-0.500.511.52

生成的白噪声的频率统计图如下:

05

10

15

20

25

结论:从结果图知,生成的白噪声基本服从N(0,1)分布。

3、生成M 序列

生成的M 序列如下(n = 63)

010203040506070

-1.5

-1

-0.5

0.5

1

1.5

验证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

test_number_a_c(run) = test_number_a_c(run) + 1;

end

run = 0;

end

end

display(test_number_a);

display(test_number_a_c);

结果:

test_number_a =

8 4 2 1 1 0

test_number_a_c =

10 3 2 1 0 1

结论:从测试结果看性质成立

移位相加特性:m序列和它的位移序列模二相加后所得序列仍是该m序列的某个位移序列。

测试程序:

M_XuLie = M_XuLie';

M_XuLie = -0.5 * (M_XuLie - 1);

M_result = 1; % 验证成功则为1

for n = 1 : (length(M_XuLie) - 1)

M_XuLie_Shift = circshift(M_XuLie, n);

M_XuLie_Add = mod((M_XuLie + M_XuLie_Shift), 2);

is_shift_found = 0; % false

for k = 0 : (length(M_XuLie) - 1)

相关文档
最新文档