1-m序列的产生

上传人:我*** 文档编号:129853600 上传时间:2020-04-23 格式:DOCX 页数:8 大小:29.48KB
返回 下载 相关 举报
1-m序列的产生_第1页
第1页 / 共8页
1-m序列的产生_第2页
第2页 / 共8页
1-m序列的产生_第3页
第3页 / 共8页
1-m序列的产生_第4页
第4页 / 共8页
1-m序列的产生_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《1-m序列的产生》由会员分享,可在线阅读,更多相关《1-m序列的产生(8页珍藏版)》请在金锄头文库上搜索。

1、1 m序列的产生使用的本源多项式是 ,M = 31查表n=6,可得到相应的反馈网络的函数f为(6,5),反馈f表示为:根据f的反馈函数,假设初始状态为,可以写出其64163长度的序列信号;具体做法为:将每一列的6和5位置的数字相异或,得到的数字放在下一行的1位置,该行的54321位置上的数字移到下一行的65432位置上,合成下一行的6位数字。初始状态为,则真值表为: 6 5 4 3 2 111 1 1 0 0 021 1 0 0 0 031 0 0 0 0 040 0 0 0 0 150 0 0 0 1 060 0 0 1 0 070 0 1 0 0 080 1 0 0 0 091 0 0 0

2、 0 1100 0 0 0 1 1110 0 0 1 1 0120 0 1 1 0 0130 1 1 0 0 0141 1 0 0 0 1151 0 0 0 1 0160 0 0 1 0 1170 0 1 0 1 0180 1 0 1 0 0191 0 1 0 0 1200 1 0 0 1 1211 0 0 1 1 1220 0 1 1 1 1230 1 1 1 1 0241 1 1 1 0 1251 1 1 0 1 0261 1 0 1 0 0271 0 1 0 0 0280 1 0 0 0 1291 0 0 0 1 1300 0 0 1 1 1310 0 1 1 1 0320 1 1 1

3、0 0331 1 1 0 0 1341 1 0 0 1 0351 0 0 1 0 0360 0 1 0 0 1370 1 0 0 1 0381 0 0 1 0 1390 0 1 0 1 1400 1 0 1 1 0411 0 1 1 0 1420 1 1 0 1 1431 1 0 1 1 1441 0 1 1 1 0450 1 1 1 0 1461 1 1 0 1 1471 1 0 1 1 0481 0 1 1 0 0490 1 1 0 0 1501 1 0 0 1 1511 0 0 1 1 0520 0 1 1 0 1530 1 1 0 1 0541 1 0 1 0 1551 0 1 0 1

4、 0560 1 0 1 0 1571 0 1 0 1 1580 1 0 1 1 1591 0 1 1 1 1600 1 1 1 1 1611 1 1 1 1 1621 1 1 1 1 0631 1 1 1 0 0根据上面,可得到最长线性序列信号:寻找起跳状态Q6输出序列为 :左移32位,:=: 序列中 (5个连0)处对应序列的四位代码为,此即为起跳状态。求M=31的序列信号可以在63长度的序列中,从起跳状态开始,消去32位码元,剩下的码元即组成31长度的序列信号:设计产生长度为31的序列信号的逻辑表达式可直接通过修改m63序列信号发生器的反馈函数f得到M=31的序列信号发生器的反馈函数f: f

5、= f起跳状态 + /Q6/Q5/Q4/Q3/Q2/Q1 = Q6Q5Q6Q5Q4Q3/Q2/Q1 + /Q6/Q5/Q4/Q3/Q2/Q1=/(Q6Q5)Q6Q5Q4Q3/Q2/Q1 + Q6Q5 /(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/Q

6、2/Q1+ /Q6/Q4/Q3/Q2/Q12 C语言验证经过C语言程序验证,M=31的序列信号C语言运行结果如图2-6所示。图1 C语言验证结果C语言源程序代码程序运行环境:DEV C+ 4.9.9.2 , Windows XP/*F(x)=1+X5+X6 M = 31初始数列 起跳状态 f=/Q5Q6+ Q5/Q6 + Q6Q4Q3/Q2/Q1+ /Q6/Q4/Q3/Q2/Q1验证输出数列是否为 C语言源程序代码程序运行环境:DEV C+ 4.9.9.2 , Windows XP*/#include int main() int initial6 = 0,0,1,1,1,1; int ans

7、316; int i, j; for (i = 0; i 5; i+) ans0i + 1 = initiali; if (!initial4 & initial5) | (initial4 & !initial5) | (initial5 & initial3 & initial2 & !initial1 & !initial0) |(!initial5 &!initial3 & !initial2 & !initial1 & !initial0) ans00 = 1; else ans00 = 0; for (i = 1; i 31; i+) for (j = 0; j 5; j+) an

8、sij + 1 = ansi - 1j; if (!ansi - 14 & ansi - 15) | (ansi - 14 & !ansi - 15) | (ansi - 15 & ansi - 13 & ansi - 12 & !ansi - 11 & !ansi - 10) |(!ansi - 15 &!ansi - 13 & !ansi - 12 & !ansi - 11 & !ansi - 10) ansi0 = 1; else ansi0 = 0; printf (n); printf (F(x)=1+X5+X6 M = 31n初始数列 n起跳状态 nf=/Q5Q6+ Q5/Q6 + Q6Q4Q3/Q2/Q1+ /Q6/Q4/Q3/Q2/Q1n验证输出数列为:); for (i = 0; i 31; i+) printf (%d,ansi5); printf (n);while (1);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号