1m序列的产生.docx

上传人:b****2 文档编号:1703869 上传时间:2022-10-23 格式:DOCX 页数:7 大小:28.55KB
下载 相关 举报
1m序列的产生.docx_第1页
第1页 / 共7页
1m序列的产生.docx_第2页
第2页 / 共7页
1m序列的产生.docx_第3页
第3页 / 共7页
1m序列的产生.docx_第4页
第4页 / 共7页
1m序列的产生.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

1m序列的产生.docx

《1m序列的产生.docx》由会员分享,可在线阅读,更多相关《1m序列的产生.docx(7页珍藏版)》请在冰豆网上搜索。

1m序列的产生.docx

1m序列的产生

1m序列的产生

使用的本源多项式是,M=31

查表n=6,可得到相应的反馈网络的函数f为(6,5),反馈f表示为:

根据f的反馈函数,假设初始状态为111000,可以写出其64-1=63长度的序列信号;具体做法为:

将每一列的6和5位置的数字相异或,得到的数字放在下一行的1位置,该行的54321位置上的数字移到下一行的65432位置上,合成下一行的6位数字。

初始状态为111000,则真值表为:

654321

1111000

2110000

3100000

4000001

5000010

6000100

7001000

8010000

9100001

10000011

11000110

12001100

13011000

14110001

15100010

16000101

17001010

18010100

19101001

20010011

21100111

22001111

23011110

24111101

25111010

26110100

27101000

28010001

29100011

30000111

31001110

32011100

33111001

34110010

35100100

36001001

37010010

38100101

39001011

40010110

41101101

42011011

43110111

44101110

45011101

46111011

47110110

48101100

49011001

50110011

51100110

52001101

53011010

54110101

55101010

56010101

57101011

58010111

59101111

60011111

61111111

62111110

63111100

根据上面,可得到最长线性序列信号:

111000001000011000101001111010001110010010110111011001101010111

寻找起跳状态

Q6输出序列为:

Ⅰ:

111000001000011000101001111010001110010010110111011001101010111

左移32位,

Ⅱ:

000001000011000101001111010001110010010110111011001101010111111

Ⅰ⊕Ⅱ=Ⅲ:

000001000011000101001111010001110010010110111011001101010111111

序列Ⅲ中100000(5个连0)处对应序列Ⅰ的四位代码为111100,此即为起跳状态。

求M=31的序列信号

可以在63长度的序列中,从起跳状态开始,消去32位码元,剩下的码元即组成31长度的序列信号:

111001*********1011001101010111

设计产生长度为31的序列信号的逻辑表达式

可直接通过修改m=63序列信号发生器的反馈函数f得到M=31的序列信号发生器的反馈函数f’:

f’=f⊕起跳状态+/Q6/Q5/Q4/Q3/Q2/Q1

=Q6⊕Q5⊕Q6Q5Q4Q3/Q2/Q1+/Q6/Q5/Q4/Q3/Q2/Q1

=/(Q6⊕Q5)Q6Q5Q4Q3/Q2/Q1+Q6⊕Q5/(Q6Q5Q4Q3/Q2/Q1)+/Q6/Q5/Q4/Q3/Q2/Q1

=(/Q5/Q6+Q5Q6)Q6Q5Q4Q3/Q2/Q1+(/Q5Q6+Q5/Q6)(/Q6+/Q5+/Q4+/Q3+Q2+Q1)+/Q6/Q5/Q4/Q3/Q2/Q1

=Q6Q5Q4Q3/Q2/Q1+/Q5Q6+Q5/Q6+/Q6/Q5/Q4/Q3/Q2/Q1

=/Q5Q6+Q5/Q6+Q6Q4Q3/Q2/Q1+/Q6/Q4/Q3/Q2/Q1

 

2C语言验证

经过C语言程序验证,M=31的序列信号111001*********1011001101010111

C语言运行结果如图2-6所示。

 

图1C语言验证结果

C语言源程序代码

程序运行环境:

DEVC++4.9.9.2,WindowsXP

/*

F(x)=1+X5+X6M=31

初始数列111000

起跳状态111100

f=/Q5Q6+Q5/Q6+Q6Q4Q3/Q2/Q1+/Q6/Q4/Q3/Q2/Q1

验证输出数列是否为1110010010110111011001101010111

C语言源程序代码

程序运行环境:

DEVC++4.9.9.2,WindowsXP

*/

#include

intmain()

{

intinitial[6]={0,0,1,1,1,1};

intans[31][6];

inti,j;

for(i=0;i<5;i++)

{

ans[0][i+1]=initial[i];

}

if((!

initial[4]&&initial[5])||(initial[4]&&!

initial[5])||(initial[5]&&initial[3]&&initial[2]&&!

initial[1]&&!

initial[0])||(!

initial[5]&&!

initial[3]&&!

initial[2]&&!

initial[1]&&!

initial[0]))

{

ans[0][0]=1;

}

else

{

ans[0][0]=0;

}

for(i=1;i<31;i++)

{

for(j=0;j<5;j++)

{

ans[i][j+1]=ans[i-1][j];

}

if((!

ans[i-1][4]&&ans[i-1][5])||(ans[i-1][4]&&!

ans[i-1][5])||(ans[i-1][5]&&ans[i-1][3]&&ans[i-1][2]&&!

ans[i-1][1]&&!

ans[i-1][0])||(!

ans[i-1][5]&&!

ans[i-1][3]&&!

ans[i-1][2]&&!

ans[i-1][1]&&!

ans[i-1][0]))

{

ans[i][0]=1;

}

else

{

ans[i][0]=0;

}

}

printf("\n");

printf("F(x)=1+X5+X6M=31\n初始数列111000\n起跳状态111100\nf=/Q5Q6+Q5/Q6+Q6Q4Q3/Q2/Q1+/Q6/Q4/Q3/Q2/Q1\n验证输出数列为:

");

for(i=0;i<31;i++)

{

printf("%d",ans[i][5]);

}

printf("\n");

while

(1);

}

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1