基于SystemView的巴克码识别器的课程设计报告解析.docx
《基于SystemView的巴克码识别器的课程设计报告解析.docx》由会员分享,可在线阅读,更多相关《基于SystemView的巴克码识别器的课程设计报告解析.docx(17页珍藏版)》请在冰豆网上搜索。
基于SystemView的巴克码识别器的课程设计报告解析
湖南科技大学
信息与电气工程学院
课程设计报告
课程:
通信原理
题目:
巴克码识别器仿真设计
专业:
班级:
姓名:
学号:
2016年07月10日
任务书
题目
基于SystemView的巴克码识别器的仿真与分析
时间安排
自2015年7月4日至2015年7月10日共1周
目的:
利用动态通信系统仿真软件SystemView对巴克码识别器的仿真设计及分析方法.PN序列产生器的原理和巴克码识别器的工作过程,利用动态通信系统仿真软件SystemView设计了由数据发生器、时钟发生器、PN序列发生器、8位移位寄存器、加法器及逻辑比较器构成的巴克码识别器的仿真电路,并对此次仿真过程中的图符参数设置及巴克码生成波形,巴克码识别输出波形,检测器检测单峰脉冲、数据与时钟的波形覆盖图等仿真结果加以分析。
最后对系统性能指标漏同步概率、假同步概率、群同步平均建立时间以及群同步保护加以论述。
要求:
主要要求如下:
1、掌握巴克码的特点和巴克码识别器的原理。
2、设计一个基于SystemView的巴克码识别器的仿真。
3、对仿真结果进行必要的分析与讨论.
总体方案实现:
1、认识数字通信系统中群同步码的巴克码的特点和巴克码识别器的原理。
2、利用动态通信系统仿真软件SystemView对巴克码识别器进行仿真设计。
3、证明该设计方法的可行性和有效性,通过运用SystemView系统成功地仿真出巴克码识别器,检测识别出同步单峰脉冲,为帧同步的实现提供了必要条件,这就证明了基于SystemView的巴克码识别器的仿真的可行性和有效性。
。
4、对设计中出现的问题以及解决措施进行探讨。
指导教师评语:
评分等级:
【】
指导教师签名:
摘要-1-
第一章:
设计原理与仿真软件介绍-3-
1.1巴克码简介-3-
1.2群同步原理-4-
1.3连贯式插人法-4-
1.4systemview简介-4-
第二章:
模块电路设计与参数设置-4-
2.1原理框图-4-
2.1巴克码生成电路-5-
2.2时钟信号实现-5-
2.3PN序列产生器-6-
2.4检测电路-8-
第三章仿真设计步骤-8-
3.1系统设计步骤-8-
第四章仿真分析-10-
4.1各分析接收图符的波形-10-
4.2各波形频谱图-12-
第五章总结-14-
5.1出现的问题及解决办法-14-
5.2个人总结-14-
参考文献-15-
摘要
数字通信系统中群同步码的巴克码的特点和巴克码识别器的原理是整个设计的思想,给出了利用动态通信系统仿真软件SystemView对巴克码识别器的仿真设计及分析方法.PN序列产生器的原理和巴克码识别器的工作过程,利用动态通信系统仿真软件SystemView设计了由数据发生器、时钟发生器、PN序列发生器、8位移位寄存器、加法器及逻辑比较器构成的巴克码识别器的仿真电路,并对此次仿真过程中的图符参数设置及巴克码生成波形,巴克码识别输出波形,检测器检测单峰脉冲、数据与时钟的波形覆盖图等仿真结果加以分析。
最后对系统性能指标漏同步概率、假同步概率、群同步平均建立时间以及群同步保护加以论述。
仿真结果证明了该方法的可行性和有效性。
关键词:
SystemView;巴克码识别器;仿真设计;群同步码。
Abstract
Groupofsynchronouscodebarkercodeindigitalcommunicationsystemandthecharacteristicsoftheprincipleofbarkercoderecognizeristhesoulofthewholedesign,wasgivenbyusingthedynamiccommunicationsystemsimulationsoftwareSystemViewsimulationdesignandanalysismethodofbarkercoderecognizer.TheprincipleofPNsequencegeneratorandtheworkingprocessofthebarkercoderecognizer,usingdynamiccommunicationsystemsimulationsoftwareSystemViewdesignedbydatagenerator,clockgenerator,PNsequencegenerator,8bitsshiftregister,adderandlogicinthecompositionofthecomparatorbarkercodediscriminatorcircuitsimulation,andthesimulationoftheglyphsintheprocessofparametersettingandbarkercodetogeneratethewaveform,barkercoderecognitionoutputwaveform,pulsesingle-peakdetector,dataandclockwaveformsoverlay,etc.Theresultsofsimulationanalysis.Finally,thesystemperformanceindexmissedsynchronizationprobabilityandfalsesynchronizationprobability,groupofsynchronousaveragesetuptimeandgroupsynchronizationprotection.Thesimulationresultsshowthatthemethodisfeasibleandeffective.
Keywords:
TheSystemView.Barkercoderecognizer;Thesimulationdesign;Groupsynchronizationcode.
第一章:
设计原理与仿真软件介绍
1.1巴克码简介
通过资料查询,对巴克码归纳如下:
巴克码是50年代初,R.H.巴克提出的一种具有特殊规律的二进制码组。
它是一个非周期序列,一个n位的巴克码{X1,X2,X3,···Xn。
),每个码元只可能取值+1或-1,它的自相关函数为:
目前已找到的只有10组,并且已经证明在长度小于12100的范围内不存在其他长度的巴克码,已知的其中长度的巴克码如下:
n巴克码组
2++,+-
3++-
4+++-,++-+
5+++-+
7+++--+-
11+++---+--+-
13+++++--++-+-+
表中“+”表示+1,“-”表示-1。
以n=7的巴克码为例,它的局部自相关函数可求出j=2、3、4、5、6、7时的R(j)值分别为-1、0、-1、0、-1、0,再求出j为负值时的自相关函数值,两者一起画在图3-2中。
由图可见,其自相关函数在j=0时出现尖锐的单峰,如图所示。
图1-1七位巴克码的自相关函数
1.2群同步原理
通信系统的帧同步中的消息数字流总是用若干码元组成一个“字”,又用若干“字”组成一“句”,即组成一个个的“群”进行传输的。
因此,在接收这些数字流时,同样也必须知道这些“字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。
接收码组与发送码组在结构、频率和相位上须完全一致,否则就不能正常接收所发送的信息,接收到的只是一片噪声。
若实现了收发同步但不能保持同步,也无法准确可靠地获取所发送的信息数据。
发送端和接收端可以采用高精确度和高稳定度的时钟频率源,以保证频率和相位的稳定性。
但在实际应用中,存在许多事先无法估计的不确定因素,如收发时钟不稳定、发送时刻不确定、信道传输时延及干扰等,尤其在移动通信中,这些不确定因素都有随机性,不能预先补偿,因此只能通过同步系统消除。
群同步的任务就是在位同步信息的基础上,识别出数字信息群(“字”或“句”)的起止时刻,或者说给出每个群的“开头”和“末尾”时刻。
这些特殊的码字应该在信息码元序列中不会出现,或者是偶然可能出现,但不会重复出现,此时只要将这个特殊码字连发几次,收端就能识别出来,接收端根据这些特殊码字的位置使接收设备的帧定时与接收到的信号中的帧定时处于同步状态实现群同步。
1.3连贯式插人法
连贯式插人法,又称集中插入法。
它是指在每一信息群的开头集中插入作为群同步码组的特殊码组,该码组在信息码中很少出现,其基本要求是具有尖锐单峰特性的自相关函数,便于与信息码区别,码长适当、以保证传输效率。
满足此要求的特殊码组有:
全0码、全1码、1与0交替码、巴克码、电话基群帧同步码0011011。
由于巴克码具有建立时间短、码组易于识别等优点[8],因此应用是最普遍的。
1.4systemview简介
SystemView是美国Elanix公司推出的基于个人计算机Windows环境的动态通信系统仿真工具,它可用于DSP信号处理、滤波器设计以及复杂的通信系统数学模型的建立和仿真分析.它的用户界面友好,分析窗口功能强大,用户只需用鼠标点击图符库中的相应图符就能完成各种系统的搭建、设计和仿真分析。
第二章:
模块电路设计与参数设置
2.1原理框图
巴克码识别系统由伪随机序列(数据)发生器、时钟发生器、巴克码生成电路、检测电路共同组成,其中巴克码由时钟脉冲加到PN序列产生器上生成。
系统原理框图如图2-1所示
图2-1 系统原理框图
2.1巴克码生成电路
时钟脉冲加到PN序列产生器上生成巴克码,巴克码生成电路如图2-2所示
图2-2 巴克码生成电路原理图
2.2时钟信号实现
时钟信号:
为系统提供一连串稳定的脉冲信号,从而满足系统各部分协同工作需要的稳定的脉冲信号。
时钟信号源参数设置:
一个周期脉冲序列应等于,或长于指定的脉冲宽度,即保证一周期内有脉冲信号显示。
脉冲宽度一般设置为 5e-3sec即0.005s,那么输入频率应小于200Hz,因为1/200=0.005s,这里频率定义为常用值100Hz,具体操作如下。
打开SystemView仿真软件,从图符库中拖出一个信号源图符“Source”到设计窗口,双击该图符,在出现的如图3-4信号源库窗口中,选择周期信号“Periodic”中的脉冲信号“PulseTrain”,按“Parameter”按钮,如图2-3所示。
图2-3信号源库窗口
弹出如图2-4参数设置窗口,将电压幅度“Amp”定义为1,频率“Frequency”定义为100,脉冲宽度“PulseW”定义为5e-3,偏置电压“Offset”定义为-500e-3。
按确定退出。
图2-4时钟参数设置窗口
2.3PN序列产生器
SystemView在通信图符库中给出了一个PN码发生器的图符。
只需在该图符的输入端加入一定频率的时钟信号,给出相应的移位寄存器长度、反馈系数(或抽头)和起始种子(Seed)便可得到所需的PN序列。
下面具体介绍伪随机(PN)序列生成原理。
伪随机(PN)序列:
可预先确定的,且可以重复地生产和复制的又具有某种随机序列的随机特性(即统计特性)的确定的序列。
伪随机序列系列具有良好的随机性和自相关性,并且有预先的可确定性和可重复性。
最常见的二进制PN序列是最大长度线性移位寄存器序列,简称m序列[3],它是由一个线性反馈的n级移位寄存器生成的。
所谓线性反馈,是指反馈函数中仅包含模2加运算而不含非线性运算。
n级移位寄存器共有2n 个状态,除去全0状态外有2 n -1种状态,因此它能产生的最大长度的码序列为2 n -1位。
这样生成的m序列是一个以P=2 n -1为周期的循环序列。
下面介绍一般n级移位寄存器产生m序列的方法。
图2-5是由n级移位寄存器构成的码序列发生器。
寄存器的状态决定于时钟控制下输入的信息(“0”或“1”),例如第i 级移位寄存器决定于前一时钟脉冲后的第i -1级移位寄存器状态。
参加反馈的各级输出经多次模2和后把最后结果送入第一级。
需要注意的是,结构需有全0检测电路和启动电路,否则由于某种原因(如启动)发生器可能死在全“0”状态。
图2-5n级循环序列发生器的模型
图2-7中C0,C1,…,Cn均为反馈线,其中C0=Cn=1,表示反馈连接。
因为m序列是由循环序列发生器产生的,因此C0和Cn肯定为1,即参与反馈。
而反馈系数C1,C2,…,Cn-1若为1,参与反馈;若为0,则表示断开反馈线,即开路无反馈连线。
反馈系数即反馈信号的抽头系数。
以7位巴克码为例,查表2-1知 n=3,Ci =(13)8 ,P=2 n-1=7。
级数n
周期P
反馈系数Ci(八进制)
3
7
13
4
15
23
5
31
45,67,75
6
63
103,147,155
表2-1部分m序列反馈系数表
反馈系数Ci =(13)8,将它化成二进制数为1011,即相应的反馈系数依次为C0=1,C1=0,C2=1,C3=1。
那么n=3,Ci=(13)8的m序列发生器的电路原理图如图2-6所示。
图2-6 n=3,Ci=(13)8的m序列发生器原理图
根据图2-6所示电路,假设移位寄存器的初始态为001,在时钟脉冲作用下,逐级移位,码序列产生过程如表2-2所示。
DCP
D1
D2
D3
D2⊕D3
0
0
0
1
1
1
1
0
0
0
2
0
1
0
1
3
1
0
1
1
4
1
1
0
1
5
1
1
1
0
6
0
1
1
0
7
0
0
1
1
表2-2 n=3,Ci=(13)8的m序列发生器状态表
由表2-2可知,经过7个时钟脉冲,又回到起始状态001,输出码序列为10010111001011…。
可见,码序列周期长度P=23-1=7。
上面假设一种初始状态,如果反馈逻辑关系不变,换另一种初始状态,则产生的序列仍为序列只是起始位置不同而已,所以起始状态为111时,输出序列为11100101110010…,即以7位巴克码1110010为周期。
据上述理论,PN序列产生器就可以通过设置仿真出来。
2.4检测电路
如图2-7使用一个8位移位寄存器(图符5)的前7位,3个非门(图符6、7、8),加法器(图符9)和比较器(图符16)构成检测电路。
信号输出经过比较判决器(图符16)检测识别出大于6的单峰脉冲。
图2-7检测电路原理图
第三章仿真设计步骤
4.1系统设计步骤
1).进入SystemView。
双击桌面上的SystemView快捷图标或单击程序组中的SystemView即可启动SystemView。
2).点击菜单栏的“File->NewSystem”建立一个新文件。
3).定义一个幅度为1V,频率为100Hz的数据信号源。
从图符库中拖出一个信号源图符“Source”到设计窗口,双击该图符,在出现的信号源库窗口中,选择噪声/伪随机序列“Noise/PN”中的伪随机序列信号“PNSeq”,按“Parameter”按钮,将参数设置窗口中的幅度“Amp”定义为1,频率“Frequency”定义为100。
确定退出。
4).定义一个幅度为1V,频率为100Hz的信时钟号源。
从图符库中拖出一个信号源图符“Source”到设计窗口,双击该图符,在出现的信号源库窗口中,选择周期信号“Periodic”中的脉冲信号“PulseTrain”,按“Parameter”按钮,将参数设置窗口中的电压幅度“Amp”定义为1,频率“Frequency”定义为100,脉冲宽度“PulseW”定义为5e-3,偏置电压“Offset”定义为-500e-3。
确定退出。
5).定义四个接收图符。
拖动一个接收图符“sink” 到设计窗口,点击复制三个同样的图符,双击它们,将它们都选择分析类“Analysis”中的分析接收“Analysis”,确定退出。
6).按快捷键切换到通信图符库,从图符库中拖出一个逻辑图符 “Logic”至设计窗口,点击复制三个同样的图符,双击其中一个,在出现的窗口中,选择“FF/Latch/Reg”中的8位移位寄存器“Shft-8in”按“Parameter”按钮,将参数设置窗口中的输出真值“TrueOutput”定义为1,输出假值“FalseOutput”定义为-1。
确认退出,图符变成。
另外三个图符选择门/缓冲器“Gates/Buffers”中的逻辑非“Invert”,按“Parameter”按钮,将参数设置窗口中的输出真值“TrueOutput”定义为1,输出假值“FalseOutput”定义为-1。
确认退出。
7).从图符库中拖出一个加法器图符“Adder”到设计窗口。
8).从图符库中拖出一个图符“Comm”到设计窗口,双击该图符,在跳出的窗口中选择“Filters/Data”中的PN序列产生器“PNGen”,按“Parameter”按钮,依据前面理论,n=3,Ci=(13)8的m序列故将参数设置窗口中的寄存器长度“RegLen”定义为3,种子“Seed”定义为7,抽头项“Taps”的2和3打勾。
确认退出。
9).从图符库中拖出一个算子图符“Operator”到设计窗口,双击该图符,在跳出的窗口中选择逻辑算子”Logic”中的比较器“Compare”, 按“Parameter”按钮,将参数设置窗口中的比较“Comparison”选取“a>b”,真值输出“TrueOutput”定义为2,假值输出“FalseOutput”定义为0。
确认退出。
10). 从图符库中拖出一个信号源图符 “Source”到设计窗口,双击该图符,在跳出的窗口中选“Aperiodic”的阶跃函数“StepFct”,按“Parameter”按钮,将参数设置窗口中的电压幅度“Amp”定义为0,确认退出,图符变成。
点击复制一个同样的图符,电压幅度“Amp”定义为6。
11).连接图符。
将数据信号源输出图符分别连接到移位寄存器图符和接收图符;时钟信号源输出图符分别连接到移位寄存器图符、接收图符和PN序列产生器图符,图符再连接到接收图符;移位寄存器图符的0,2,3口分别经过非门再接到加法器图符,而图符5的1,4,5,6口直接接到加法器图符,另外加法器外加一个阶跃信号源图符4;加法器图符5输出到判决器图符,最后由判决器图符输出到接收图符。
得到如图3-1所示的巴克码识别器仿真系统原理图。
图3-1仿真系统原理图
12).设置系统运行时间。
单击工具条中的系统定时“SystemTime”按钮,把采样频率“Samp1eRate”设置为载波频率的10倍1e+3Hz,采样点数“No.ofSamples”设置为1024。
13).按创建便笺按钮,加入注释NotePad,汉字的颜色和字体可以在文字框内单击右键定义。
14).运行系统。
单击工具条中的运行按钮运行系统。
15).单击“Analysis”快捷按钮进入分析窗口,单击窗口工具条的水平分布,使整个窗口排列显示四个图形W0、W1、W2、W3,利于对照观察分析。
这时可以看到四个图形W0、W1、W2、W3。
16).将三个波形图叠加显示,单击接收计算器按钮,弹出分析窗的接收计算器窗口选择“Operatrs”的“OverlayPlots”分析按钮,按键盘的Ctrl键并单击选中W0、W1、W2,就会出现一个新的图形W4,三个波形分别用不同的颜色表示。
鼠标双击图形顶部的说明文字,可修改成汉字,命名为“巴克码检测器检测单峰脉冲、数据与时钟的波形覆盖图”。
17). 对输出波形进行频谱分析。
单击接收计算器按钮,弹出分析窗的接收计算器窗口,选择“Spectrum”分析按钮,并分五次选中W0、W1、W2、W3、W4,就会出现五个新的图形,分别对应前面五个波形。
18).结束仿真,保存系统。
通过选择“File->Save”把刚才设计的内容保存下来。
第四章仿真分析
4.1各分析接收图符的波形
信源信号波形如图4-1所示:
图4-1信源信号波形图
定义了一个幅度为1V,频率为100Hz的数据信号源。
通过从图符库中拖出一个信号源图符“Source”到设计窗口,双击该图符,在出现的信号源库窗口中,选择噪声/伪随机序列“Noise/PN”中的伪随机序列信号“PNSeq”,按“Parameter”按钮,将参数设置窗口中的幅度“Amp”定义为1,频率“Frequency”定义为100。
时钟信号波形如图4-2所示:
图4-2时钟信号波形图
显然这是时钟信号波形,且时钟信号源图符1直接连接到接收图符3,故可确定W1(图4-2)为时钟信号波形。
PN序列波形如图4-3所示:
图4-3PN序列波形
通过选择“Filters/Data”中的PN序列产生器“PNGen”,n=3,Ci=(13)8的m序列故将参数设置窗口中的寄存器长度“RegLen”定义为3,种子“Seed”定义为7,抽头项“Taps”的2和3打勾后就产生了该图。
输出检测波形如图4-4所示
图4-4输出波形
巴克码检测器检测单峰脉冲、数据与时钟的波形覆盖图如图4-5所示:
图4-5波形覆盖图
而有时仿真得到如图4-5所示的覆盖图,可以看到在同步脉冲前面出现了一组应数据代码与巴克码相同产生的伪同步信号。
这是因为无论选用何种巴克码始终存在与同步码组码元序列相同的数据码组。
所以使用巴克码组作为帧同步信号,和后面群同步保护讲到的同步码的保护,以实现正确的帧同步,避免伪同步的发生。
一般通过判断前后多个同步脉冲的出现周期来剔除伪同步信号。
4.2各波形频谱图
对输出波形进行频谱分析。
单击接收计算器按钮,弹出分析窗的接收计算器窗口,选择“Spectrum”分析按钮,并分五次选中W0、W1、W2、W3、W4,就会出现五个新的图形,分别对应前面五个波形。
信源信号频谱图如图4-6所示
图4-6信源信号频谱图
时钟信号频谱图如图4-7所示
图4-7时钟信号频谱图
PN序列频谱图如图4-8所示:
图4-8PN序列频谱图
巴克码输出波形频谱图如图4-9所示
图4-9巴克码输出波形频谱图
组合频谱图如图4-10所示:
图4-10组合频谱图:
通过以上不同时刻仿真的巴克码检测器检测单峰脉冲、数据与时钟的波形覆盖图的对照观察,看出频谱平稳有规律,失真极小,这也正是数字通信的优点之一。
第五章总结
5.1出现的问题及解决办法
(1)仿真运行时如果看不到单峰脉冲,应重复仿真或加大仿真的采样点数,才能得到预期效果。
(2)必须根据实际情况合理的设置脉冲信