传输与处理综合设计报告.docx
- 文档编号:12073172
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:23
- 大小:807.99KB
传输与处理综合设计报告.docx
《传输与处理综合设计报告.docx》由会员分享,可在线阅读,更多相关《传输与处理综合设计报告.docx(23页珍藏版)》请在冰豆网上搜索。
传输与处理综合设计报告
电子科技大学通信与信息工程学院
《传输与处理综合设计报告》
用可编程器件GAL16V8设计可变长度的序列信号发生器
班级通信十二班
学生涂玉良
学号2012019120006
教师饶力
基于伪随机序列的传输处理综合设计
伪随机序列
伪随机序列包括m序列、Gold序列、M序列和组合序列等,其中最常用到的是m序列[5,6]。
本文根据m序列完成了传输处理系统的综合设计。
m序列的生成
m序列是线性反馈移位寄存器的最大长度序列。
它的生成可用移位寄存器序列发生器的特征多项式来确定,其特征多项式
可以定义为:
(2-1)
其中x的幂次表示元素相应的位置。
根据代数理论的严格证明,当特征多项式
满足以下3个条件时就一定能够产生m序列:
(1)
是不可约的,即不能再分解因式;
(2)
可整除
,这里
;
(3)
不能整除
,这里
;
目前广泛应用的m序列都是由移位寄存器构成的。
如图2-1所示,m序列发生器由n个二元存储器和模2开关网络组成。
二元存储器通常是一种双稳态触发器,它的两种状态记为0和l,其状态取决于时钟控制下输入的信息(0或1),例如第i级移位寄存器的状态取决于时钟脉冲后的第i一1级移位寄存器的状态。
图中Ci表示为反馈线的两种可能连接状态:
Ci=1表示连接线连通,即第n-i级输出加入到反馈中;Ci=0表示连接线断开,即第n-i级输出未参加到反馈中。
图2-1
由于移位寄存器的初始状态是随机的,它可能是1,也可能是0。
如果各级移位寄存器的初始状态都为0时,则模2加法器的输出将始终为0,这样就不能产生任何序列。
为了防止这种情况发生,在图2-1中往往还需要增加必要的检测电路。
m序列的特性分析
m序列由n级移位寄存器产生的m序列,其周期为
。
m序列具有如下的一些特性:
1)随机性:
在m序列的一个周期中,0和1出现概率大致相同,0码只比1码多一个,且1的个数为
,0的个数为
。
2)移位可加性:
某个周期为p的m序列与其经任意延迟移位后的序列模2相加后,其结果仍是周期为p的m序列,只是原序列某次延迟移位后的序列。
3)预先可确定性:
m序列是由移位寄存器的初始状态和反馈网络唯一确定的。
4)游程特性:
序列中取值相同的相继元素称为一个游程。
游程长度指的是游程中元素的个数。
在m序列中,一共有
个游程。
其中长度为1的游程占总游程数的一半;长度为2的游程占总游程的1/4;长度为k的游程占总游程数的
,且在长度为k的游程中,连0与连1的游程数各占一半。
另外,还有一个长度为n的1游程和一个长度为(n一1)的0游程。
由以上特性可知,m序列是一个周期性确定序列,又具有类似于随机二元序列的特性,因此得到了广泛的应用。
m序列的自相关函数
周期为p的m序列的自相关函数定义为:
(2-2)
其中,A是码字中对应码元相同的数目(同为1或同为0的数目),D是码字中对应码元不同的数目。
由于一个周期中0比1的个数少1,因此j为非零整数时A-D=-1,j为零时A-D=p,这样m序列的自相关函数可以化简为:
(2-3)
图2-2
如图2-2所示,m序列的相关函数
只在两序列相位差在正、负一个码元范围内时出现峰值,表现出尖锐的自相关特性。
因此,在工程上很容易通过检测本地的m序列与接收的m序列的相关输出是否出现峰值来判别做相关的两序列的相对位置是否在正、负一个码元内。
当周期p很大时,m序列的自相关函数与白噪声类似。
相关检测就是利用这一特性,在信号相关函数值的基础上来识别信号,检测或同步自相关函数值为1的码序列。
m序列发生器的软件设计
本文设计的m序列码长为33。
根据
,可以推得n=6。
假设初始状态为111111,查表可得
为(6,1),即本原多项式为
。
起跳状态设计
由于本原多项式为
,可以推得反馈系数
、
、
。
(2-4)
图2-3
如图2-3所示为m序列为63时发生器逻辑图。
在时钟的驱动下,m序列的真值表如下所示:
表2-1
CP
Q6
Q5
Q4
Q3
Q2
Q1
0
1
1
1
1
1
1
1
1
1
1
1
1
0
2
1
1
1
1
0
1
3
1
1
1
0
1
0
4
1
1
0
1
0
1
5
1
0
1
0
1
0
6
0
1
0
1
0
1
7
1
0
1
0
1
1
8
0
1
0
1
1
0
9
1
0
1
1
0
0
10
0
1
1
0
0
1
11
1
1
0
0
1
1
12
1
0
0
1
1
0
13
0
0
1
1
0
1
14
0
1
1
0
1
1
15
1
1
0
1
1
1
16
1
0
1
1
1
0
17
0
1
1
1
0
1
18
1
1
1
0
1
1
19
1
1
0
1
1
0
20
1
1
0
1
0
0
21
0
1
1
0
1
0
22
1
0
1
1
0
1
23
1
0
1
0
0
1
24
0
1
0
0
1
0
25
1
0
0
1
0
0
26
0
0
1
0
0
1
27
0
1
0
0
1
1
28
1
0
0
1
1
1
29
0
0
1
1
1
0
30
0
1
1
1
0
0
31
1
1
1
0
0
0
32
1
1
0
0
0
1
33
1
0
0
0
1
0
34
0
0
0
1
0
1
35
0
0
1
0
1
1
36
0
1
0
1
1
1
37
1
0
1
1
1
1
38
0
1
1
1
1
0
39
1
1
1
1
0
0
40
1
1
1
0
0
1
41
1
0
1
0
0
0
42
1
0
0
1
0
1
43
0
0
1
0
1
0
44
0
1
0
1
0
0
45
1
1
0
0
1
0
46
0
1
0
0
0
1
47
1
0
0
0
1
1
48
0
0
0
1
1
0
49
0
0
1
1
0
0
50
0
1
1
0
0
0
51
1
1
0
0
0
0
52
1
0
0
0
0
1
53
0
0
0
0
1
0
54
0
0
0
1
0
0
55
0
0
1
0
0
0
56
0
1
0
0
0
0
57
1
0
0
0
0
0
58
0
0
0
0
0
1
59
0
0
0
0
1
1
60
0
0
0
1
1
1
61
0
0
1
1
1
1
62
0
1
1
1
1
1
63
1
1
1
1
1
1
由于本文设计的m序列码长为33,不满足
的条件,需要将码长截短。
因此要在
个有效状态中跳过
个状态,而且又要符合移存规律。
本文设计方法如下:
首先求出
的序列作为序列Ⅰ,再将
序列向左移
位,得到序列Ⅱ,将两序列各位对应进行模2加,得序列Ⅲ。
在序列Ⅲ中寻找100…0(n-1个连0)的地方,其对应位置序列Ⅰ的n位码就是起跳状态。
Q6的输出的序列Ⅰ:
111111*********110111011010010011100010111100101000110000100000
左移30位的序列Ⅱ:
011100010111100101000110000100000111111010101100110111011010010
两序列的模2加序列Ⅲ:
100011000010000011001101010110011011101101001001110001011110010
其中,001100为起跳态。
m序列逻辑表达式设计
可以在63长度的序列中,从起跳状态开始,消去30位码元,剩下的码元即组成33长度的序列信号:
110001*********100011000010000011。
因此,M=33的序列信号发生器的反馈函数
为:
(2-5)
但是在最长线性序列信号发生器中,全0状态是最长线性序列状态转移中的偏离状态。
当各级触发器均处于0状态时,由于反馈网络是异或网络,导致最后的输出为0,即最长线性序列信号发生器在全0状态不具有自启动特性。
为了使其具有自启动特性,必须修改激励函数。
修改的激励方程为:
(2-6)
化简可得:
(2-7)
C程序结果验证
#include
#include
#include
intn(intt){
intout;
if(t==1)
z=0;
elseout=1;
returnout;
}
voidmain()
{
inti,x,Q6,Q5,Q4,Q3,Q2,Q1,Q;
x=110111;
printf("%d\n",x);
for(i=1;;i++)
{
if(i!
=1&&x==110111)
break;
else{
Q6=x/100000;
Q5=x%100000/10000;
Q4=x%10000/1000;
Q3=x%1000/100;
Q2=x%100/10;
Q1=x%10;
Q=(n(Q1)*Q6+Q1*n(Q6)+n(Q6)*n(Q5)*Q4*Q3*n(Q2)*n(Q1)+n(Q6)*n(Q5)*n(Q4)*n(Q3)*n(Q2)*n(Q1))%2;
x=Q5*100000+Q4*10000+Q3*1000+Q2*100+Q1*10+Q;
charstr[7];
itoa(x,str,10);
for(intj=strlen(str);j<6;j++){
chartmp=str[j-1];
for(intp=0;p str[j-p]=tmp; tmp=str[j-p-2]; } str[0]='0'; } printf("%s\n",str); } } } 图2-4 如图2-4所示,本文正确地实现了序列码长为33的m序列设计。 m序列发生器的硬件设计 本文采用可编程逻辑器件GAL16V8完成了m序列发生器硬件部分的设计。 GAL器件简介 可编程逻辑器件PLD(ProgrammableLogicDevice)是一种专用集成电路,具有结构灵活,集成度高、处理速度快、可靠性好的特点。 PLD的器件类型很多,通用阵列逻辑GAL(GenericArrayLogic)器件是其中的一种高性能的PLD产品。 GAL器件采用灵活的可编程I/O结构,在几十纳秒内可完成芯片的编程或擦除,可反复改写数据100次,数据可保持20年[3,4]。 GAL美国Lattice半导体公司生产的E2CMOS可编程器件的专用商标。 GAL产品分类 GAL产品分为普通型、通用型、异步型、FPLA型和在线可编程型5个系列: (1)普通型GAL器件: 包括输入缓冲器,输出三态缓冲器,输出反馈/输入缓冲器,输出逻辑宏单元和时钟及输出使能信号缓冲器。 (2)通用型GAL器件: 通用型GAL器件采用的工艺和基本结构与普通型GAL器件相同,通用型器件在普通型器件基础上,简化了输出逻辑宏单元的结构,增加了阵列的规模,还向用户提供了两个专用乘积项(异步复位AR乘积项和同步置位SP乘积项),因此在设计组合逻辑和时序逻辑时,使用通用型GAL器件带来了更强的灵活性。 (3)异步型GAL器件: 不论是普通型还是通用型GAL器件,都只有一个时钟输入脚,所有输出寄存器都在同一时钟下工作。 这类器件难以实现在不同时钟下工作的异步时序逻辑,异步型GAL器件就是针对这一问题特别研制出来的。 (4)FPLA型器件: 这类器件在芯片内部集成了两个可编程的门阵列——与门阵列和或门阵列。 由于有两个可编程的门阵列,在设计状态机时就非常灵活了。 (5)在线可编程GAL器件: 这类器件具有在线可编程和诊断能力,其内部集成了一个功能模块,这一模块只需要应用系统中+5V电源电压,就能够提供编程,诊断所必须的电压和控制信号,因此,它可以不用专门的编程器即可完成在线编程,使用更加灵活方便。 硬件设计工作 本文使用的设计硬件为普通型GAL器件GAL16V8。 如图2-5所示,它包括输入缓冲器、输出三态缓冲器、与门阵列、输出反馈/输入缓冲器、输出逻辑宏单元OLMC等。 与门阵列由8×8个与门构成,共形成64个乘积项。 每个与门有32个输入端。 GAL16V8用双列直插封装,共20个引脚,其中引脚2-9固定作输入引脚,引脚1在时序逻辑时作时钟输入,引脚11作使能控制,引脚12-19作输出引脚,其中15和16脚为专用输出引脚,而引脚1,11,12,13,14,17,18,19也可以配置为输入引脚。 因此输入最多可达16个,输出最多可达8个,这就是命名中的16和8的含意。 引脚10接地,引脚20接电源VCC[3]。 图2-5GAL16V8的逻辑电路图 在图2-5中,输入缓冲器和输出缓冲器都采用互补输出结构,其中其表示方法和真值表如图2-6所示。 图2-6 在图2-5中,可编程的部分是与门阵列,共有8组与门,每组中含8个与门,每个与门有16个输入线,如果全部画出,显得很繁琐,因此与门采用简化表示法,如图2-6所示,为了与传统的表示法对比,图中以3个输入(A,B,C)的“与”门为例,分别画出两种图形。 PLD简化画法似乎有三个相同的输入,但这种画法实际上代表了传统画法的三个不同输入。 多输入与门的输出D,称为“乘积项”。 在图2-7中的与门阵列中三种连接法: 固定连接、编程连接和被擦除(断开),也在图2-7中表示。 图2-7 作为一种通用结构的PLD器件,GAL的设计依然仍遵循典型的PLD程序设计流程,如图2-8所示。 从编写设计说明书开始到反复设计、调整逻辑关系直到达到设计要求,最后形成标准JEDEC文件装入编程器,完成对器件的编程工作。 另外,如果采用手工方法对GAL进行编程,不仅需要对器件的可编程单元非常清楚,而且必须保证据文件绝对正确,会使得设计过程非常繁琐且极易出错。 因此,在设计过程中通常会借助软件工具帮助设计,而软件工具又有汇编型和高级语言型两种。 本文采用的是汇编型软件工具,如图2-9所示的FM软件(Fast-Map)。 图2-8 图2-9 实验结果 1.本文采用可编程逻辑器件GAL16V8在FM环境下对m序列发生器进行设计,编写设计说明书如下: GAL16V8;DEVICENAME F(x)=1+x+x6_33;33LENGTHMSEQUENCE tuyuliang.112014;DESIGNER M_33;SIGNATURE CLKNCNCNCNCNCNCNCNCGND;PINNAME OESQ6Q5Q4Q3Q2Q1NCVCC Q6: =Q5;LOGICEQUATIONS Q5: =Q4 Q4: =Q3 Q3: =Q2 Q2: =Q1 Q1: =/Q1*Q6+Q1*/Q6+/Q6*/Q5*Q4*Q3*/Q2*/Q1+/Q6*/Q5*/Q4*/Q3*/Q2*/Q1 S.OE=VCC S=Q6 DESCRIPTION Thisprogramism_sequenceswhichis33_length. 2.文档文件M_33.LST: GAL16V8 F(x)=1+x+x6_33 tuyuliang.112014 M_33 CLKNCNCNCNCNCNCNCNCGND OESQ6Q5Q4Q3Q2Q1NCVCC Q6: =Q5 Q5: =Q4 Q4: =Q3 Q3: =Q2 Q2: =Q1 Q1: =/Q1*Q6+Q1*/Q6+/Q6*/Q5*Q4*Q3*/Q2*/Q1+/Q6*/Q5*/Q4*/Q3*/Q2*/Q1 S.OE=VCC S=Q6 DESCRIPTION Thisprogramism_sequenceswhichis33_length. GAL16V8 F(x)=1+x+x6_33 tuyuliang.112014 M_33 ____________________ |\__/| || CLK|0120|VCC || NC|0219|NC || NC|0318|Q1 || NC|0417|Q2 || NC|0516|Q3 || NC|0615|Q4 || NC|0714|Q5 || NC|0813|Q6 || NC|0912|S || GND|1011|OE || |______________________| 3.熔丝图文件M_33.PLT: GAL16V8 F(x)=1+x+x6_33 tuyuliang.112014 M_33 ArrayInputpin11111111 2938475665748392 PolarityFuseX AC1Fuse- OutputPin19Row0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin19Row1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin19Row2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin19Row3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin19Row4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin19Row5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin19Row6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin19Row7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PolarityFuse- AC1FuseX OutputPin18Row0-------X------------------X----- OutputPin18Row1------X--------------------X---- OutputPin18Row2-------X---X--X---X----X---X---- OutputPin18Row3-------X---X---X---X---X---X---- OutputPin18Row4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin18Row5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin18Row6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin18Row7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PolarityFuse- AC1FuseX OutputPin17Row0------X------------------------- OutputPin17Row1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin17Row2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin17Row3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin17Row4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin17Row5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin17Row6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin17Row7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PolarityFuse- AC1FuseX OutputPin16Row0----------X--------------------- OutputPin16Row1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin16Row2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin16Row3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin16Row4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin16Row5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin16Row6XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin16Row7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX GAL16V8 F(x)=1+x+x6_33 tuyuliang.112014 M_33 ArrayInputpin11111111 2938475665748392 PolarityFuse- AC1FuseX OutputPin15Row0--------------X----------------- OutputPin15Row1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin15Row2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX OutputPin15Row3XXXXXXXXXXXXXXXXXXXXXXXXXX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传输 处理 综合 设计 报告