巴克码检测器课程设计
巴克码识别器的设计与仿真

摘要本课程设计介绍了一种简单的关于双音多频信号的产生与检测的方法。
首先设计了关于双音多频(DTMF)信号的产生与检测的电路图,其中核心部件是MT8870和MC74HC4511;然后通过matlab仿真软件完成对双音多频信号的检测,并采用Goertzel算法对信号进行频谱分析。
关键字:双音多频信号,matlab,Goertzel目录第1章绪论....................................... 错误!未定义书签。
第2章双音多频(DTMF)信号的设计 ................. 错误!未定义书签。
2.1设计目的及意义 .............................. 错误!未定义书签。
2.2双音多频(DTMF)信号的组成 .................. 错误!未定义书签。
2.3DTMF信号的应用 .............................. 错误!未定义书签。
2.4仿真软件介绍 ................................ 错误!未定义书签。
PROTEL软件概述 ................................. 错误!未定义书签。
MATLAB软件概述 ................................. 错误!未定义书签。
2.5电路设计中的核心器件 ........................ 错误!未定义书签。
2.6主要参数设置 ................................ 错误!未定义书签。
3.1双音多频信号的产生 .......................... 错误!未定义书签。
3.2双音多频信号检测 ............................ 错误!未定义书签。
3.3MATLAB工具箱函数GOERTZEL...................... 错误!未定义书签。
巴克码检测课程设计

巴克码检测课程设计一、课程目标知识目标:1. 学生能理解巴克码的基本概念,掌握其编码规则及特点;2. 学生能运用巴克码进行错误检测,并了解其在通信系统中的应用;3. 学生了解数字信号处理的基本原理,理解巴克码在信号检测中的作用。
技能目标:1. 学生具备独立编写巴克码编码程序的能力,能通过编程实现错误检测;2. 学生能够运用所学知识,分析实际通信系统中巴克码的应用案例,提出优化方案;3. 学生能够运用巴克码检测错误,培养解决问题的能力。
情感态度价值观目标:1. 学生通过学习巴克码检测,培养对通信科学的兴趣,激发探索精神;2. 学生在学习过程中,养成合作、分享、尊重他人成果的良好品质;3. 学生能够认识到科技发展对国家和社会的重要性,增强社会责任感。
课程性质:本课程为信息技术与通信科学领域的一节实践性课程,通过巴克码检测的学习,培养学生的编程能力、问题解决能力和团队合作精神。
学生特点:六年级学生具备一定的编程基础和逻辑思维能力,对通信科学有一定的好奇心,喜欢探索和实践。
教学要求:结合学生特点,注重理论与实践相结合,鼓励学生动手实践,培养其创新能力和实际操作能力。
在教学过程中,关注学生的个体差异,提供有针对性的指导。
通过课程学习,使学生达到上述课程目标,为后续学习打下坚实基础。
二、教学内容1. 巴克码基本概念:巴克码的定义、特点及其在通信系统中的应用;2. 编码规则:巴克码的编码方法,奇偶校验原理;3. 错误检测:巴克码检测错误的能力,错误检测原理;4. 数字信号处理:数字信号处理基本原理,巴克码在信号检测中的作用;5. 编程实践:编写巴克码编码程序,实现错误检测功能;6. 应用案例分析:分析巴克码在通信系统中的应用案例,探讨优化方案;7. 实践项目:分组合作,完成巴克码检测错误实践项目,培养团队合作能力。
教学大纲安排:第一课时:巴克码基本概念、编码规则;第二课时:错误检测原理、数字信号处理基本原理;第三课时:编程实践,编写巴克码编码程序;第四课时:应用案例分析,探讨优化方案;第五课时:实践项目,分组合作完成巴克码检测错误项目。
巴克码识别器的设计与仿真 (2)

*****************实践教学*****************兰州理工大学计算机与通信学院2013年秋季学期通信系统综合训练题目:巴克码识别器的设计与仿真专业班级:姓名:学号:指导教师:彭铎成绩:摘要巴克码是一种具有特殊规律的二进制码组,它是一种非周期序列。
是目前已找到的最常用的群同步码字之一。
它具有尖锐的自相关特性,便于与随机的数字信息相区别,易于识别,出现伪同步的可能性小。
本次课程设计是在掌握群同步码巴克码的基础上,利用MATLAB完成对巴克码识别器的设计。
关键字:巴克码识别器,MATLAB目录前言 (1)1.基本原理 (2)1.1目的及意义 (2)1.2群同步 (2)1.3巴克码 (3)1.4系统设计框图 (3)1.5MATLAB仿真软件 (4)2.系统分析 (6)2.1巴克码的发生 (6)2.2巴克码的判决 (7)2.3巴克码的同步 (8)2.4群同步码 (9)2.5移位寄存器 (10)2.6同步字符的识别性能 (11)3.系统设计与调试 (13)3.1设计思路 (13)3.2调试结果: (14)设计总结 (16)参考文献 (17)致谢 (18)附录 (19)前言同步是通信系统中一个重要的实际问题。
通信系统中的同步可分为载波同步、位同步、帧同步等几大类。
在通信系统中,同步具有相当重要的地位。
通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步系统。
因此,如何使系统同步,如何保持同步,成为现代数字通信系统设计者所面临的重要课题。
在数字通信时,一般总是以一定数目的码元组成一个个的“字”或“句”,即组成一个个的“群”进行传输的。
因此,在接收这些数字流时,同样也必须知道这些“字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。
群同步信号的频率很容易由位同步信号经分频而得出。
但是,每个群的开头和末尾时刻却无法由分频器的输出决定。
上大实验六(6)

串 P 行 C S D 1 L 2 I B P 5 电 电 4
C O P C 四 K 8 位 S S S S T S C E O R G B S S S S S S S P L P L P N L S R T R T C 0 C A C
K K
实验六 帧同步
一、实验目的
1. 掌握巴克码识别原理。 2. 掌握同步保护原理。 3. 掌握假同步、漏同步、捕捉态、维 持态概念。
二、实验内容
1. 观察帧同步码无错误时帧同步器 的维持态。 2. 观察帧同步码有一位错误时帧同 步器的维持态和捕捉态。 3. 观察同步器的假同步现象和同 步保护作用。
三、基本原理
7
4
L
S
12 13
11
U
5
4
0
7
本模块有以下测试点及输入输出点:
S-IN
数字基带信号输
入点(2 个)
BS-IN
位同步信号输入
点(2 个)
GAL
巴克码识别器输出
信号测试点
÷24
24 分频器输出信
号测试点
TH
判决门限电平测试
点
FS
帧同步信号测试点
图 6-1 中各单元与图 6-2 中元器件的
帧同步模块电路中有三个发光二极管
指示灯 P1、P2、P3 与判决门限控制
电压相对应,即从左到右与 L2、L1、 L0 一一对应,灯亮对应 1,灯熄对应 0。判决电平测试点 TH 就是 L0 信号, 它与最右边的指示灯 P3 状态相对应。
当 L2L1L0=111 时门限为 7,三个灯全 亮,TH 为高电平;当 L2L1L0=110 时门 限为 6,P1 和 P2 亮,而 P3 熄,TH 为
巴克码识别器

任务书一、课程设计的目的1.熟悉SystemView 仿真环境并能在其环境下了解并掌握通信系统的一般设计方法,具备初步的独立设计能力;2.提高综合运用所学理论知识独立分析和解决问题的能力。
二、课程设计的原理使用一个8位移位寄存器的前7位和3个非门构成检测电路,加法器的输出经过判决器检测出大于6的单峰脉冲。
数据流简单地用了一个100Hz 的PN 序列代替,时钟信号的频率与PN 数据流的速率一样也为100Hz 。
SystemView 是美国Elanix 公司推出的基于个人计算机WindoWS 环境的动态通信系统仿真工具,它可用于DSP 信号处理、滤波器设计以及复杂的通信系统数学模型的建立和仿真分析.它的用户界面友好,分析窗口功能强大,用户只需用鼠标点击图符库中的相应图符就能完成各种系统的搭建、设计和仿真分析。
(1)巴克码巴克码是一种具有特殊规律的二进制码字,是一种非周期序列,它的特殊规律是:若一个n 位的巴克码,每个码元只可能取值+1或-1,它的局部自相关函数为)(0)0(1)0)(1n j n j j n x x j R ji j n i i >=<<±===+-=∑( (1) 从式(1)中可以看到巴克码计算的局部自相关函数R (j )具有尖锐单峰特性,从后面的分析同样可以看出,它的识别器结构非常简单。
目前只搜索到10组巴克码,其码组最大长度为13,全部列在下表中。
表中+表示+1,–表示–1。
表2.1巴克码对应表巴克码识别器的电路框图如图1所示,它由7级移位寄存器、相加电路和判决电路等组成[9]。
移位寄存器输出联线与巴克码组l 1 l一1—1 1—1相对应,可从“1”端输出,也可从⋯0端输出.它实现对输入的巴克码的相关运算.当输入的码字1存人移位寄存器时,“1”端的输出为高电平,设其为+1,而“0”端的输出为低电平,设其为0(或一1);反之,当输入的码字一1存人移位寄存器时,“0”端的输出为高电平+1,⋯1端的输出为低电平0(或一1).由于各移位寄存器输出端的接法和巴克码的规律一致,这样,如果输人移位寄存器的数字有一位或多位与对应的巴克码位不同,则该位就输出低电平0(或一1),所以将移位寄存器的各位相加时其和就一定会小于7I而只有输入为巴克码时,7级移位寄存器的输出端都为+1,相加器才可能输出7.若将判决器的判决电平设置为6.5,那么就只有与巴克码组完全相同的序列输入时,判决器才有输出,从而可以识别出巴克码组.三、各具体模块实现及调试过程(1)巴克码发生器SystemView在通信图符库中给出了一个PN码发生器的图符。
.巴克码的编码设计与仿真兰州理工大学

公式2.4.1
这种非周期序列的自相关函数称为局部自相关函数。当j=0时,很显然R(j)=n,
|j |
0
1
2
3
4
5
6
>=7
R(j)
7
0
-1
0
-1
0
-1
0
将所求得的结果画成曲线,就得到7位巴克码的自相关函数曲线。
图2.4.1巴克码的自相关函数曲线
-表1-1 已发现的巴克码组
n
巴克码
2
+ +
3
+ + --
4
+ + + --; + + -- +
5
+ + + -- +
7
+ + + -- -- + --
11
+ + + -- -- -- + -- -- + --
13
+ + + + + -- -- + + -- + -- +
其中,“+”表示取值为高电平1,“一”表示取值为低电平0。依要求及上面的巴克码组可知,13位的巴克码发生器应在输入时钟信号作用下依次产生“1111100110101”的码元序列
当接收端对接收到的比特流进行搜索时,一旦检测到这种特殊字符,就知道了帧的开始,并据此划分帧内的码组。群同步(在这种数据格式中称为帧同步)就这样建立起来了。
巴克码的检测与发生

数字电子技术实验 A报告(2008-2009学年第一学期)学号 20072428姓名黄明江班级 07级网络工程2班实验时间第十三周周三第三讲桌号1指导老师史燕巴克码的检测与发生一.设计思路1.功能:(1)当输入为串行码X【1110010(巴克码)】时,输出检测信号Z,当检测到巴克码(111001010)时,输出为1。
检测灯亮。
(2).自动产生巴克码(1110010)。
2.图框检测图框产生图框3.思路检测:本实验通过7位移位寄存器来实现对串行输入数据的存储。
然后通过比较是不是巴克码,然后实现判断。
产生:通过对7位移位寄存器的数据的循环输出即可实现巴克码的产生功能。
移位寄存器存储巴克码数据。
4. 状态转移图二.波形图。
三.源代码。
MODULE bakemaTITLE 'bakema'clk,codein pin 1,2;q2..q0,y pin 22,21,20,15 istype'reg'; ss0=^b000;ss1=^b001;ss2=^b010;ss3=^b011;ss4=^b100;ss5=^b101;ss6=^b110;ss7=^b111;LM=[q2..q0];c,x=.c.,.x.;equationsLM.clk=clk;y.clk=clk;state_diagram LMstate ss0:if codein==1 then goto ss1withy:=0;endwithelse goto ss0withy:=0;endwith; state ss1:if codein==1 then goto ss2withy:=0;endwithelse goto ss0withy:=0;endwith; state ss2:if codein==1 then goto ss3withy:=0;endwithelse goto ss0y:=0;endwith; state ss3:if codein==1 then goto ss3withy:=0;endwithelse goto ss4withy:=0;endwith; state ss4:if codein==1 then goto ss1withy:=0;endwithelse goto ss5withy:=0;endwith; state ss5:if codein==1 then goto ss6withy:=0;endwithelse goto ss2withy:=0;endwith; state ss6:if codein==1 then goto ss2withy:=0;endwithelse goto ss7withy:=1;endwith; state ss7:if codein==1 then goto ss1withy:=0;endwithwithy:=0;endwith; TEST_VECTORS ([clk,codein]->[LM,y])[c,0]->[x,x];[c,0]->[x,x];[c,1]->[x,x];[c,1]->[x,x];[c,1]->[x,x];[c,0]->[x,x];[c,0]->[x,x];[c,1]->[x,x];[c,0]->[x,x];[c,1]->[x,x];[c,1]->[x,x];[c,1]->[x,x];[c,1]->[x,x];[c,1]->[x,x];[c,1]->[x,x];[c,0]->[x,x];[c,0]->[x,x];[c,1]->[x,x];[c,0]->[x,x];[c,1]->[x,x];[c,1]->[x,x];[c,1]->[x,x];END。
EDA课程ROM扩展巴克码检测器

控制系统
用于检测控制系统的异 常情况,提高控制系统
的可靠性和稳定性。
医疗设备
用于检测医疗设备中的 异常情况,提高医疗设 备的安全性和可靠性。
优势与局限性
优势
ROM扩展巴克码检测器具有高可靠 性、高稳定性、高抗干扰能力等优点 ,能够有效地检测和纠正信号中的错 误,提高系统的性能和可靠性。
局限性
由于ROM扩展巴克码检测器的实现较 为复杂,且需要预先定义检测码,因 此在某些情况下可能无法适应快速变 化的环境和信号。
软件实现
软件算法设计
根据巴克码检测器的算法 需求,设计合理的软件算 法,包括编码、解码和检 测等算法。
编程语言选择
选择适合的编程语言,如 C/C或Verilog等,进行软 件算法的实现。
代码优化与调试
对实现的算法进行优化和 调试,确保软件的正确性 和性能。
测试与验证
测试环境搭建
搭建适合的测试环境,包括硬件测试平台和软件测试 平台。
ROM扩展巴克码检测器可根据不同的 应用场景和需求进行灵活配置,具有 广泛的应用前景。
该检测器具有较高的检测效率和准确 性,能够在较短时间内完成信号的解 码和纠错。
对未来研究的展望
01
深入研究其他类型的巴克码
除了ROM扩展巴克码检测器,还有其他类型的巴克码,如Reed-
Solomon码等。未来可以进一步研究这些巴克码的性能和应用。
高速化
随着信号传输速率的不断提高,ROM扩展巴克码检测器 的高速化将成为未来的发展方向,能够适应高速信号的检 测和纠正需求。
05
结论
总结课程收获
掌握ROM扩展巴克码检测器的原理
01
通过学习,我深入理解了ROM扩展巴克码检测器的工作原理,
巴克码发生器设计

摘要本课程设计主要是利用QUARTERSⅡ设计一个8位巴克码代码发生器,当识别到一组代码时,输出一个高电平脉冲。
巴克码主要用于通信系统中的帧同步,其特点是具有尖锐的自相关函数,便于与随机的数字信息相区别,易于识别,出现伪同步的可能性小。
巴克码是一种具有特殊规律的二进制码组,它是一种非周期序列。
关键词:QUARTERSⅡ,巴克码,信号发生器,序列1绪论在通信系统中,同步技术起着相当重要的作用。
通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步系统。
通信系统中的同步可分为载波同步、位同步、帧同步等几大类。
当采用同步解调或相干检测时,接收端需要提供一个与发射端调制载波同频同相的相干载波,获得此相干载波的过程称为载波提取,或称为载波同步。
而在数字通信中,消息是一串连续的信号码元序列,解调时常须知道每个码元的起止时刻。
因此,就要求接收端必须能产生一个用作定时的脉冲序列,以便与接收的每一个码元的起止时刻一一对齐。
在接收端产生与接收码元的重复频率和相位一致的定时脉冲序列的过程称为码元同步或位同步。
数字通信中的消息数字流总是用若干码元组成一个“字”,又用若干“字”组成一“句”。
因此,在接收这些数字流时,同样也必须知道这些“字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。
当通信是在两点之间进行时,完成了载波同步、位同步和帧同步之后,接收端不仅获得了相干载波,而且通信双方的时标关系也解决了,这时,接收端就能以较低的错误概率恢复出数字信息。
在数字通信系统中,实现帧同步的方法通常有两种:起止式同步法和集中式插入同步法。
起止式同步比较简单,一般是在数据码元的开始和结束位置加入特定的起始和停止脉冲来表示数据帧的开始和结束。
另外在计算机RS232串口通信中通常也使用类似方法。
而在集中式插入同步法中,要求插入的同步码在接收端进行同步识别时出现伪同步的概率尽可能小,并且要求该码组具有尖锐的自相关函数以便于识别。
巴克码检出器

信号延迟、干扰、非线性失真、收发端的时钟偏差等等。为了保证数字传输的可 靠性,必须进行同步。根据同步的作用,可以分为:载波同步、位同步、帧同步、 网同步。本实验就是一种帧同步的实例,通过此例,学习使用 DSP Builder 的设 计方法。
11. 再次点击工具条上的 图标进行编译。编译成功后就可以下载。 通过 USB-blaster 下载电缆连接 PC 机和开发平台,如果首次使用下载电缆,
此时操作系统会提示安装驱动程序,此 USB 设备的驱动处于 QuartusII 安装目录 中的\drivers\usb-blaster 中。
单击 Tool\Programmer 打开下载窗口:
波动,可以用作帧同步的特殊码组。符合上述自相关特性的码组是存在的,比如
{+1,+1,+1,-1,-1,+1,-1}就是 7 位的巴克码序列。当 j = 0 时,
7
R( j) = ∑ xi2 = 7 ,达到峰值;当 j = 1时, R( j) = 1 ;当 j = 3、5、7 时, R( j) = 0 ;当 i=1
一、实验目的: 理解巴克码检出器的工作原理以及实现方法,掌握 MATLAB\DSP BUILDER
设计的基本步骤和方法。
二、实验条件: 1. 安装 WindowsXP 系统的 PC 机; 2. 安装 QuartusII6.0 EDA 软件; 3. 安装 MATALB7.0+DSP BUILDER6.0 软件; 4. GW48 型 SOPC 开发平台;
⒈⒉⒊⒋⒌⒍⒎⒏
⒐⒑⒒⒓⒔⒕⒖⒗
任选一个发光二极管即可,此指导书所使用的是 LED8(IO79)。
EDA课程ROM扩展巴克码检测器-PPT资料29页

2.节拍脉冲 3.巴克码信号发生器
4.256X8 ROM设计
5.巴克码检测器
单脉冲发生器
➢ 设计分析
制作人:张进 科
单脉冲发生器就是能发出单个脉
冲的线路,它的输入是一串连续脉
冲M,它的输出受到开关PUL的控
制,即当有开关按下时,且来脉冲
下降沿来到时,输出一个q与脉冲宽
度相同,时间同步的脉冲,与此同
巴克码检测器状态转换图
VHDL程序
仿真波形
巴克码信号发生器
实验要求 (1)可循环产生产生巴克码信号 (2)可控制信号发生器的启动和停止
设计思路 由实验要求可以得,将巴克码01110010逐个赋给一
个信号,并通过二进制信号s来控制循环产生巴克码,当 s=000时,产生巴克码的第一个数,s+1,当s为111时, 将s清零成000,开始产生新一轮的巴克码。
VHDL源程序
仿真波形
首先确定 256X8 ROM 用到了8位 二进制端口即可访问256个存储单 元(也就是说有256个地址),然 后用低四位作并联在16个例化的 ROM 的四位地址端口,并将高四 位接在一个4—16译码器上,作为 位选端口, 译码器的输出端分别接 在16个ROM的en使能位。最后用 一个16选一的数据选择器将译码器 使能的那块ROM的输出端(8位) 作为 256X8 ROM 的输出端口或者
时也输出一个与q相反并且的信号
nq。
单脉冲发生器 原理图
M
单脉冲发
Q
生器
PUL
单脉冲发生器VHDL源 程序
波形仿真图
节拍脉冲发生器用来产生计算机工作所需的节拍脉冲 ,当给START一个高电平脉冲时,节拍脉冲发生器启 动,从P0~P3输出节拍脉冲:当给STOP一个高电平脉 冲时,节拍脉冲发生停止输出节拍脉冲,当给RESET 一个高电平时,节拍脉冲发生一组节拍脉冲
巴克码序列检测

物理与电子工程学院 廖磊
设计要求
某通信接收机的同步信号为巴克码 1110010。 设计一个检测器,其输入位串行码x,输 出位检测结果y,当检测到巴克码时,输 出1。
巴克码序列检测器状态转换图
设计范例
library ieee; use ieee.std_logic_ll64.all; entity jcq is port (clk, Xiபைடு நூலகம் in std_logic; Z: out stdJogic ); end jcq; architecture archjcq of jcq is type StateType is (S0, Sl, S2, S3, S4, S5, S6, S7); signal present_state, next_stat: StateTyPe; begin
双进程状态机模型
输出信号 外界输入信号
下一状态
当前状态信号
状态 译码 PROCESS1
下一状态
状态 当前状态信号 寄存器
时钟信号
PROCESS2
END
state_clk: process (clk) begin if (clk'event and clk =' l ' ) ) then present_state <= next_state; end if; end process state_clk; end archjcq;
波形仿真
序列检测器仿真波形
设计范例(续)
when S5 => Z <= ' 0 '; if Xi =' l ' then next_state <= S6; else next_state <= S0; end if; when S6 => Z <= ' 0'; if Xi = ' l ' then next_state <= S2; else next_state <= S7; end if; when S7=> Z <=' l '; if Xi = ' 1 ' then next_state <= Sl ; else next_state <= S0; end if; end case; end process state_comb;
巴克码检测器课程设计

课程设计任务书学生姓名:专业班级:电子科学与技术0803班指导教师:工作单位:信息工程学院题目:巴克码检测器课题要求:(1)学会在QuartusⅡ环境中运用VHDL语言设计方法构建具有一定逻辑功能的模块,并能运用图形设计方法完成顶层原理图的设计。
(2)掌握巴克码检测器的主要功能与在CPLD中的实现方法。
课题内容:(1)设计一个七位巴克码(X1110010)代码检测器,当识别到一组代码时,输出一个高电平脉冲。
(2)运用QuartusⅡ软件中的仿真功能对所设计的巴克码检测器的各个模块及顶层电路的功能进行仿真分析。
时间安排:学习VHDL语言的概况第1天学习VHDL语言的基本知识第2、3天学习VHDL语言的应用环境,调试命令第4、5天课程设计第6-9天答辩第10天指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要..................................................................... ABSTRACT ................................................................. 1绪论 02 巴克码简介 (1)3 QUARTERS Ⅱ设计软件介绍 (2)3.1VHDL发展史及特点 (2)3.2Q UARTERS Ⅱ应用 (3)4方案选择及论证 (5)5 设计原理 (6)5.1巴克码发生器 (6)5.2巴克码检测器 (8)6 编译与仿真 (11)6.1程序编译 (11)6.2实验仿真 (16)7 小结 (19)参考文献: (20)摘要本课程设计主要是利用QUARTERSⅡ设计一个七位巴克码(X1110010)代码检测器,当识别到一组代码时,输出一个高电平脉冲。
巴克码主要用于通信系统中的帧同步,其特点是具有尖锐的自相关函数,便于与随机的数字信息相区别,易于识别,出现伪同步的可能性小。
EDA课设巴克码

课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:巴克码发生器初始条件:QuartusⅡ,CPLD要求完成的主要任务:1、设计并实现一个巴克码(01110010代码)发生器。
波形图见图1。
图1 巴克码(01110010代码)发生器仿真波形图2、将所设计的整个系统写入CPLD 器件中,加上需要的外围电路在实验箱上实现整个系统的硬件搭建,并调试出结果。
时间安排:收集资料第1天学习VHDL语言的基本知识第2-3天学习巴克码的基本知识第4-5天编写程序并调试出结果完成设计要求第6-9天答辩第10天指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)ABSTRACT (II)绪论 (1)1巴克码简介 (3)1.1巴克码简介 (3)1.2巴克码的产生与检测 (3)1.2.1巴克码的产生 (3)1.2.2巴克码的识别 (4)2 QUARTERS Ⅱ设计软件介绍 (6)3 巴克码发生器的设计 (7)3.1设计原理框图 (7)3.2单元模块设计 (7)3.2.1分频模块设计 (7)3.2.2八位计数控制模块设计 (8)3.2.3巴克码产生模块设计 (8)3.2.4显示模块设计 (9)3.3顶层电路设计 (9)4仿真与调试 (10)4.1软件仿真 (10)4.2硬件调试 (10)4.2.1硬件配置与初始化 (10)4.2.2演示结果及分析 (11)5小结即心得体会 (12)附录 (14)摘要本文介绍了一种采用单片CPLD芯片进行巴克码发生器的设计方法,主要阐述如何使用新兴的EDA 器件取代传统的电子设计方法,利用CPLD 的可编程性,简洁而又多变的设计方法,缩短了研发周期。
本设计实现了巴克码发生器的一些基本功能,主要包括八位巴克码序列产生,以及数码显示功能。
本次设计主要包括采用了CPLD 芯片,使用VHDL 语言进行编程,使其具有了更强的移植性,更加利于产品升级。
巴克码主要用于通信系统中的帧同步,其特点是具有尖锐的自相关函数,便于与随机的数字信息相区别,易于识别,出现伪同步的可能性小。
[DOC]-巴克码发生器-EDA
![[DOC]-巴克码发生器-EDA](https://img.taocdn.com/s3/m/b62302c3b04e852458fb770bf78a6529657d3559.png)
巴克码发生器-EDA课程设计任务书学生姓名翟晓飞专业班级: 电子科学与技术0803班指导教师: 钟毅 _ 工作单位: 信息工程学院题目:设计一个有限状态机,用以实现序列信号发生器初始条件:quartusII软件, EPM7128SLC84-15芯片要求完成的主要任务:深入研究EDA技术和VHDL硬件描述语言的理论知识,并设计一序列信号发生器程序,利用quartusII强大的图形处理,语言编译功能及仿真功能,实现序列信号发生器的实现。
1.用VHDL语言设计一个有限状态机,用以实现序列信号发生器。
2.用quartusII软件实现VHDL程序的仿真。
3.用EPM7128SLC84-15芯片实现序列信号发生器设计的硬件测试。
4.撰写《EDA应用实践》课程设计说明书。
时间安排:课程设计任务布置、选题、查阅资料。
第1天设计,软件编程、仿真和调试,实验室检查仿真结果,验证设计的可行性和正确性。
第2~5天设计的硬件调试。
第6~8天设计的硬件调试。
第9~10天机房检查设计成果,提交设计说明书及答辩。
第11天指导教师签名:年月日系主任(或责任教师)签名:年月日I目录摘要 ............................................................... (I)ABSTRACT ......................................................... (II)1绪论................................................................ (1)2 EDA技术简介 (2)2.1 EDA技术主要内容 (2)2.2EDA技术的发展过程 (2)2.3EDA的优点 (3)3 VHDL内容简介 (4)3.1VHDL语言特点 (4)3.2VHDL对我们的帮助 (5)4 QUARTUSII软件介绍 (6)5 设计思路 ............................................................... .. 85.1 状态机简介 (8)5.2 Moore型状态机 (8)5.3 Mealy型状态机 (8)5.4 设计方案 (8)6 各个设计模块 (10)6.1分频模块 (10)6.2 状态机实现序列发生器 (11)6.2.1序列发生器的实现 (12)6.2.2序列发生器的波形仿真 (14)6.3 总体的电路 (17)6.4引脚锁定及硬件实现结果 (17)7 心得体会 ...............................................................19参考文献: ............................................................. (20)附录 ............................................................... . (21)II摘要EDA 技术是近几年迅速发展起来的计算机软件、硬件和微电子交叉的现代电子设计学科,EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
基于SystemView的巴克码识别器的课程设计报告解析

湖南科技大学信息与电气工程学院课程设计报告课程:通信原理题目:巴克码识别器仿真设计专业:班级:姓名:学号:2016年07月10日任务书目录摘要______________________________________________________________________ - 1 - 第一章:设计原理与仿真软件介绍____________________________________________ - 3 - 1.1 巴克码简介 _________________________________________________________ - 3 - 1.2 群同步原理 _________________________________________________________ - 4 - 1.3 连贯式插人法 _______________________________________________________ - 4 - 1.4 system view简介____________________________________________________ - 4 - 第二章:模块电路设计与参数设置____________________________________________ - 4 - 2.1 原理框图 ____________________________________________________________ - 4 - 2.1 巴克码生成电路 ______________________________________________________ - 5 - 2.2 时钟信号实现 ________________________________________________________ - 5 - 2.3 PN序列产生器________________________________________________________ - 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位移位寄存器、加法器及逻辑比较器构成的巴克码识别器的仿真电路,并对此次仿真过程中的图符参数设置及巴克码生成波形,巴克码识别输出波形,检测器检测单峰脉冲、数据与时钟的波形覆盖图等仿真结果加以分析。
巴克码发生器完整版

巴克码发生器一、实验目的1.实现一个在通信领域中经常使用的巴克码发生器。
2.掌握用大规模可编程逻辑器件实现时序电路的方法。
二、实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台5.其他器材与材料若干三、实验说明巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。
它能自动产生周期性的序列。
本实验要求产生的序列码信号为{1110010},可以用寄存器或同步时序电路实现。
为了能够通过实验开发系统验证试验效果,可以使用两个输出端,其中一个输出端同时输出巴克码,另一个输出端输出节拍。
四、实验步骤1.巴克码的VHDL程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity bakema isport(clk:in std_logic;dout,zhishi:out std_logic); end entity ;architecture behave of bakema issignal count7:integer range 0 to 6; beginprocess(clk)beginzhishi<=not clk;if clk'event and clk='1' thenif count7<6 thencount7<=count7+1;else count7<=0;end if;end if;end process;process(count7)begincase count7 iswhen 0=>dout<='1';when 1=>dout<='1';when 2=>dout<='1';when 3=>dout<='0';when 4=>dout<='0';when 5=>dout<='1';when 6=>dout<='0';when others=>dout<='0';end case;end process;end behave;3.在这里用数码管和一个发光二极管作为指示节拍,另一个发光二极管显示产生的巴克码,随着数码管显示1到7,二极管显示1110010序列。
巴克码检测器

巴克码检测器:module bake(x,cp,cr,z);input x,cp,cr;output reg z;reg [2:0] currentstate,nextstate;parameter s0=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100,s5=3'b101,s6=3'b110; always @(posedge cp or posedge cr)beginif(cr==1)currentstate=s0;elsecurrentstate=nextstate;endalways @(currentstate or x)case(currentstate)s0:begin z=0;nextstate=(x==1)?s1:s0;ends1:begin z=0;nextstate=(x==1)?s2:s0;ends2:begin z=0;nextstate=(x==1)?s3:s0;ends3:begin z=0;nextstate=(x==0)?s4:s3;ends4:begin z=0;nextstate=(x==0)?s5:s0;ends5:begin z=0;nextstate=(x==1)?s6:s0;ends6:if (x==1) begin z=1;nextstate=s0;endelse begin z=0;nextstate=s0;enddefault: begin z=0;nextstate=s0;endendcaseendmodule六点魔方:module state_m3 (clk, en, oa,ob);input clk, en;output reg[3:0] oa,ob;parameter s0 = 2, s1 = 4,s2=6,s3=5,s4=7,s5=13;always @(posedge clk )if(en)case(oa)s0: oa= s1;s1: oa= s2;s2: oa= s3;s3: oa= s4;s4: oa= s5;s5: oa= s0;default: oa=s0;endcasealways @(posedge clk )if(en)case(ob)s0: if (oa==s5) ob= s1; else ob=s0;s1: if (oa==s5) ob= s2; else ob=s1;s2: if (oa==s5) ob= s3; else ob=s2;s3: if (oa==s5) ob= s4; else ob=s3;s4: if (oa==s5) ob= s5; else ob=s4;s5: if (oa==s5) ob= s0; else ob=s5;default: ob=s0;endcaseendmodulemodule fashengqi(y,cp,cr);input cp,cr;output reg y;parameter s0=3'b000,s1=3'b001,s2=3'b010,s3=3'b011,s4=3'b100,s5=3'b101,s6=3'b110; reg [2:0] currentstate,nextstate;always @(posedge cp or posedge cr)beginif(cr==1)currentstate=s0;elsecurrentstate=nextstate;endalways @(posedge cp)case(currentstate)s0:begin y=1;nextstate=s1;ends1:begin y=1;nextstate=s2;ends2:begin y=1;nextstate=s3;ends3:begin y=0;nextstate=s4;ends4:begin y=0;nextstate=s5;ends5:begin y=1;nextstate=s6;ends6:begin y=0;nextstate=s0;enddefault:begin y=0;nextstate=s0;endendcaseendmodule译码器:module fenpinqi(A,O); input [3:0] A;output reg [14:0] O; always @(A)begincase(A)4'b1110:O=2'd14;4'b1101:O=2'd13;4'b1100:O=2'd12;4'b1011:O=2'd11;4'b1010:O=2'd10;4'b1001:O=2'd09;4'b1000:O=2'd08;4'b0111:O=2'd07;4'b0110:O=2'd06;4'b0101:O=2'd05;4'b0100:O=2'd04;4'b0011:O=2'd03;4'b0010:O=2'd02;4'b0001:O=2'd01; default:O=2'dz; endcaseendendmodule。
巴克码识别器的设计与FPGA的实现(1)

别器就输出一个同步脉冲,两个同步脉冲(相关峰)之间刚 好相距31个时钟周期,端口输出数据完全正确。然后将综合 后生成的网表文件通过ByteBlaste下载电缆,以在线配置的 方式下载到 EPF10K10LC84-4器件中,从而完成了器件的编 程。上电后,在输入端加入待编码信息,用数字存储示波器 测试巴克码识别器的输出,实测结果完全正确,达到了设计 要求。 5 结束语
本文探讨用FPGA(现场可编程门阵列)设计巴克码识别 器。 1 巴克码
巴克码是一种有限长的非周期序列。其定义如下:一个 n 位长的码组{x1,x2,x3,…,xn},其中xi的取值为 +1或-1, 若它的局部相关函数R(j)满足下式:
★基金项目:陕西省教育厅科研基金项目(01JK121)
110
FPGA
科技广场 2006.4
巴克码识别器的设计与 FPGA 的实现
Design of Identifier with Barker Code and Implement with FPGA
龙光利 Long Guangli (陕西理工学院电信工程系,汉中 723003) (Dept.of E.I.of Shanxi University of Tecnology, Hanzhong
circuit design a producer of seven-Barker code too,its period is thirty-one.After editing,compiling and
基于System View的巴克码识别器的课程设计报告

湖南科技大学信息与电气工程学院课程设计报告课程:通信原理题目:巴克码识别器仿真设计专业:班级:姓名:学号:2016年07月10日任务书题目基于System View的巴克码识别器的仿真与分析时间安排自 2015年7月4日至 2015年7月10日共 1 周目的:利用动态通信系统仿真软件SystemView对巴克码识别器的仿真设计及分析方法. PN 序列产生器的原理和巴克码识别器的工作过程,利用动态通信系统仿真软件SystemView设计了由数据发生器、时钟发生器、PN序列发生器、8位移位寄存器、加法器及逻辑比较器构成的巴克码识别器的仿真电路,并对此次仿真过程中的图符参数设置及巴克码生成波形,巴克码识别输出波形,检测器检测单峰脉冲、数据与时钟的波形覆盖图等仿真结果加以分析。
最后对系统性能指标漏同步概率、假同步概率、群同步平均建立时间以及群同步保护加以论述。
要求:主要要求如下:1、掌握巴克码的特点和巴克码识别器的原理。
2、设计一个基于System View的巴克码识别器的仿真。
3、对仿真结果进行必要的分析与讨论.总体方案实现:1、认识数字通信系统中群同步码的巴克码的特点和巴克码识别器的原理。
2、利用动态通信系统仿真软件System View对巴克码识别器进行仿真设计。
3、证明该设计方法的可行性和有效性,通过运用SystemView系统成功地仿真出巴克码识别器,检测识别出同步单峰脉冲,为帧同步的实现提供了必要条件,这就证明了基于System View的巴克码识别器的仿真的可行性和有效性。
4、对设计中出现的问题以及解决措施进行探讨。
指导教师评语:评分等级:【】指导教师签名:目录摘要______________________________________________________________________ - 1 - 第一章:设计原理与仿真软件介绍____________________________________________ - 3 - 1.1 巴克码简介 _________________________________________________________ - 3 - 1.2 群同步原理 _________________________________________________________ - 4 - 1.3 连贯式插人法 _______________________________________________________ - 4 - 1.4 system view简介____________________________________________________ - 4 - 第二章:模块电路设计与参数设置____________________________________________ - 4 - 2.1 原理框图 ____________________________________________________________ - 4 - 2.1 巴克码生成电路 ______________________________________________________ - 5 - 2.2 时钟信号实现 ________________________________________________________ - 5 - 2.3 PN序列产生器________________________________________________________ - 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位移位寄存器、加法器及逻辑比较器构成的巴克码识别器的仿真电路,并对此次仿真过程中的图符参数设置及巴克码生成波形,巴克码识别输出波形,检测器检测单峰脉冲、数据与时钟的波形覆盖图等仿真结果加以分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n { 1 “ 2 巴克码简介
巴克码主要用于通信系统中的帧同步,其特点是具有尖锐的自相关函数,便于与随机的
数字信息相区别,易于识别,出现伪同步的可能性小。
巴克码是一种具有特殊规律的二进制
码组,它是一种非周期序列。
一个 位的巴克码组为 , :, ,. ,},其中 的取值是+1 或 一 1,其局部自相关函数为:
目前已发现的所有巴克码组如表 :
表 1 已发现的巴克码组
其中,“+”表示取值为高电平1,“一”表示取值为低电平0。
依要求及上面的巴克码组
可知,8 位的巴克码发生器应在输入时钟信号作用下依次产生 01110010”的码元序列。
QuartersⅡ增加了一个新的快速适配编译选项,可缩短50%的编译时间。
快速适配功能保留了最佳性能的设置,加快了编译过程,编译速度更快,对设计性能的影响最小[3]境,或宣布自己的设计工具可以和VHDL接口。
此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。
QuartersⅡ设计软件界面如图3.1所示。
图 3.1
QuartersⅡ设计软件界面
武汉理工大学《EDA课程设计》说明书
5设计原理
序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
在本次设计中首先要设计一个巴克码发生器,然后再设计巴克码检测器。
5.1巴克码发生器
发生器原理:N位触发器构成的计数器可产生M个代码。
原理图:
图5.1巴克码发生器原理图
当计数脉冲不断进入由Q3Q2Q1组成的三位二进制异步计数器时,3-8译码器的8个输出经反相器后顺序输出高电平。
其中五路信号经“或非”后再和其中
1
武汉理工大学《EDA 课程设计》说明书
when "111"=>tmp1<='1' ;
when others=>tmp1<='0'; end case;
end if;
end process;
end a;
5.2 巴克码检测器
序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器
连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出 1,否
则输出 0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记 住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对 应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
• 序列检测器(1110010)
1
1
1
S1
S2
S3 S4
1 0 1
1
S8
0/1
1
S7 S6
S5
图 5.2 巴克码检测器状态图
用状态机设计的巴克码检测器总设计程序如下所示:
library ieee;
6编译与仿真
6.1程序编译
按要求安装好QuartersⅡ,打开已安装好的软件并新建一个工程
图6.1新建工程
完成后选择芯片,由于本次设计要求用到EP1C3T144C8芯片,因此如图5.2中选择该芯片。
图6.2选择芯片
由于本次设计要用到多种模块,应此要考虑元件例化或画连接图,为了编程简单
我们选择画连接图,如图所示在新建文档里选择“Block Diagram/Schematic File”进入画图界面,如图6.3所示:
图6.3画图界面
课程设计总程序如下所示:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity design is
port(
CLK:in std_logic;
KEY_CLR:in std_logic;
KEY_IN:in std_logic_vector(6downto0);
BELL:out std_logic;
LED:out std_logic;
LED_7:out std_logic_vector(6downto0)
);
end entity;
architecture behave of design is
component div is
6.2实验仿真
运行程序直至调试到无错误后生成实验总图如下所示
图6.4总原理图
在总体电路图界面中选择“new”中的“vector waveform file”在processing中选择simulator tool,进行仿真
图6.5新建vector waveform file
在编辑好波形输入文件后,在Process中的simulator tool中选择仿真类型为功能
仿真,并生成仿真网表。
如图所示。
图6.6选择仿真工具
巴克码发生器波形仿真器如下所示:
图6.7巴克码(01110010代码)发生器仿真波形图
巴克码检测器仿真图如下所示
图6.8
巴克码检测器仿真波形图
用过波形仿真以及在实验箱上演示可以验证此次设计达到了预期的要求。