实验四序列发生器
EDA实验报告实验三、序列检测器的设计
实验三、序列检测器的设计一、预习内容1、预习序列发生器和检测器的基本工作原理;2、画出实验原理草图;3、写出实验的基本步骤和源程序。
二、实验目的1、掌握序列检测器的工作原理;2、学会用状态机进行数字系统设计。
三、实验器材PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干四、实验要求1、检测连续4个‘1’的状态机,画出状态转移图,并写出VHD代码;(必做部分)2、了解试验箱,完成数据分配器的硬件实验。
(实验一的硬件操作,首次使用请谨慎使用试验箱!)3、检测“10001110”序列,当检测到该序列后输出为‘1’。
(此部分选作)五、实验原理和实验内容1、序列发生器原理(此部分选作)在数字信号的传输和数字系统的测试中,有时需要用到一组特定的串行数字信号,产生序列信号的电路称为序列信号发生器。
本实验要求产生一串序列“10001110”。
该电路可由计数器与数据选择器构成,其结构图如图6-1所示,其中的锁存输出的功能是为了消除序列产生时可能出现的毛刺现象:图6-1 序列发生器结构图2、序列检测器的基本工作过程:序列检测器用于检测一组或多组由二进制码组成的脉冲序列信号,在数字通信中有着广泛的应用。
当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
状态图如图6-2所示:图6-2 序列检测器状态图3、状态机的基本设计思想:在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。
同时,状态机的设计方法也是数字系统中一种最常用的设计方法。
一般来说,标准状态机可以分为摩尔(Moore)机和米立(Mealy)机两种。
实验四 RC一阶电路的响应测试
实验四 RC一阶电路的响应测试实验四rc一阶电路的响应测试实验九 RC一阶电路的响应测试一、实验目的1.测量RC一阶电路的零输入响应和零状态响应。
2.学习电路时间常数的测量方法。
3.进一步学习使用示波器绘制图形。
2、原理描述1.动态网络的过渡过程是十分短暂的单次变化过程,对时间常数τ较大的电路,可用慢扫描长余辉示波器观察光点移动的轨迹。
然而能用一般的双踪示波器观察过渡过程和测量有关的参数,必须使这种单次变化的过程重复出现。
为此,我们利用信号发生器输出的方波来模拟阶跃激励信号,即令方波输出的上升沿作为零状态响应的正阶跃激励信号;方波下降沿作为零输入响应的负阶跃激励信号,只要选择方波的重复周期远大于电路的时间常数τ,电路在这样的方波序列脉冲信号的激励下,它的影响和直流电源接通与断开的过渡过程是基本相同的。
电路的响应时间分别按照零阶和慢阶RC的变化规律呈指数增长τ3。
时间常数τ的测定方法(b)零输入响应(a)rc一阶电路(c)零状态响应图9-1三、实验设备第12号IV.实验内容实验线路板的结构如图所示,认清r、c元件的布局及其标称值,各开关的通断位置等等。
名称函数信号发生器双道示波器型号和规格数量11备注1.选择动态线路板上r、c元件,令(1)r=120ω,c=2200pf如图所示的RC充放电电路由以下部分组成:。
E为直流稳压电源的输出,E=24V。
此时,在示波器屏幕上可以观察到激励和响应的变化规律,可以测量时间常数τ,并描述充电和放电uc波形。
少量改变电容值或电阻值,定性观察对响应的影响,并记录观察到的现象。
(2)令r=10kω,c=3300pf,观察并描绘响应波形,继续增大c之值,定性观察对响应的影响。
五、实验注意事项1.示波器的亮度不能太亮。
2.调整仪表旋钮时,不要用力过猛。
3.调节示波器时,要注意触发开关和电平调节旋钮的配合使用,以使显示的波形稳定。
4.作定量测定时,“t/div”和“v/div”的微调旋钮应旋至“校准”位置。
序列信号检测实验报告
一、实验目的1. 理解序列信号检测的基本原理。
2. 掌握序列信号检测的方法和步骤。
3. 通过实验验证序列信号检测的准确性。
4. 分析实验结果,探讨影响序列信号检测准确性的因素。
二、实验原理序列信号检测是数字信号处理中的一个重要领域,主要研究如何从含有噪声的信号中检测出特定的序列信号。
本实验采用模拟信号检测的方法,通过设计序列信号发生器和检测器,实现对特定序列信号的检测。
三、实验器材1. 信号发生器2. 数据采集器3. 计算机及软件(如MATLAB等)4. 信号分析仪四、实验步骤1. 设计序列信号发生器:- 根据实验要求,设计特定的序列信号,如“1101”。
- 使用信号发生器产生该序列信号。
2. 设计序列信号检测器:- 设计一个检测器,用于检测序列信号。
- 检测器可以采用状态机或有限状态机(FSM)实现。
3. 实验设置:- 将信号发生器产生的序列信号输入到数据采集器。
- 将数据采集器采集到的信号输入到计算机进行后续处理。
4. 信号处理:- 使用MATLAB等软件对采集到的信号进行预处理,如滤波、去噪等。
- 对预处理后的信号进行序列信号检测。
5. 结果分析:- 分析实验结果,比较检测器检测到的序列信号与原始序列信号是否一致。
- 分析影响序列信号检测准确性的因素,如噪声水平、信号带宽等。
五、实验结果与分析1. 实验结果:- 通过实验,成功检测到了设计的序列信号“1101”。
- 检测到的序列信号与原始序列信号基本一致。
2. 结果分析:- 实验结果表明,所设计的序列信号检测器能够有效地检测出特定序列信号。
- 影响序列信号检测准确性的因素主要包括:- 噪声水平:噪声水平越高,检测难度越大。
- 信号带宽:信号带宽越窄,检测难度越大。
- 序列长度:序列长度越长,检测难度越大。
六、实验结论1. 序列信号检测实验验证了序列信号检测的基本原理和方法。
2. 通过实验,掌握了序列信号检测的步骤和技巧。
3. 实验结果表明,所设计的序列信号检测器能够有效地检测出特定序列信号。
EDA论文+序列信号发生器的设计
序列信号发生器的设计吴书娜 物理系 2005级 电子信息工程(1+3)班摘要:在数字信号的传输和数字系统的测试中,有时需要用到一组特定的串行数字信号,产生序列信号的电路称为序列信号发生器[1]。
本设计中选用目前应用较广泛的VHDL 硬件电路描述语言,实现对序列信号发生器的硬件电路描述,在ALTERA 公司的EDA 软件平台MAX+PLUS Ⅱ环境下通过了编译、仿真,并下载到CPLD 器件上进行编程制作,实现了序列信号的发生过程。
关键字:序列信号 VHDL EDA 仿真 MAX+PLUS Ⅱ一、前言:电子设计技术的核心就是EDA 技术,EDA 是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD 通用软件包,主要能辅助进行三方面的设计工作,即IC 设计、电子电路设 和PCB 设计[2]。
EDA 技术已有30年的发展历程,大致可分为三个阶段。
70年代为计算机辅助设计(CAD )阶段,人们开始用计算机辅助进行IC 版图编辑、PCB 布局布线,取代了手工操作。
80年代为计算机辅助工程(CAE )阶段。
与CAD 相比,CAE 除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。
CAE 的主要功能是:原理图输人,逻辑仿真,电路分析,自动布局布线,PCB 后分析[3]。
90年代为ESDA 阶段。
尽管CAD/CAE 技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。
在整个设计过程中,自动化和智能化程度还不高,各种EDA 软件界面千差万别,学习使用困难并且互不兼容,直接影响到设计环节间的衔接。
基于以上不足,人们开始追求贯彻整个设计过程的自动化,即电子系统设计自动化(ESDA )。
EDA 技术是电子设计领域的一场革命,目前正处于高速发展阶段,每年都有新的EDA 工具问世,广大电子工程人员应该尽早掌握这一先进技术,这不仅是提高设计效率的需要,更是我国电子工业在世界市场上生存、竟争与发展的需要。
实验7序列发生器和检测器的设计与实现
实验7序列发生器和检测器的设计与实现序列发生器和检测器是数字电路中非常重要的组成部分,用于生成和检测特定的序列模式。
本实验将设计和实现一个简单的序列发生器和检测器。
1.实验目的:-了解序列发生器和检测器的基本原理和实现方法;-掌握用基本门电路实现序列发生器和检测器的设计方法;-熟悉数字电路的设计流程和实验操作。
2.实验仪器和器件:-逻辑门IC(与、或、非门);-数字电路实验箱;-电源。
3.实验原理:-序列发生器是一种能够按照预定规律生成特定序列的电路,通常由多个逻辑门组成。
常见的序列发生器包括计数器、移位寄存器等。
-序列检测器是一种能够检测给定输入序列是否符合预定规律的电路,通常也由多个逻辑门组成。
常见的序列检测器包括状态机、比较器等。
4.实验步骤:1.根据设计要求,确定需要生成和检测的序列类型和规律。
2.设计序列发生器的电路,选择适当的逻辑门进行组合,以实现所需的序列模式。
3.搭建序列发生器电路,将所选逻辑门按照设计连接方式进行布线。
4.进行测试和调试,检查序列发生器是否按照设计要求生成所需的序列。
5.设计序列检测器的电路,选择适当的逻辑门进行组合,以实现对所需的序列模式的检测。
6.搭建序列检测器电路,将所选逻辑门按照设计连接方式进行布线。
可使用开关或其它电源来模拟序列输入。
7.进行测试和调试,检查序列检测器是否能够准确检测给定的输入序列是否符合预期。
5.实验注意事项:-严格按照设计要求进行电路设计和布线,确保连接正确。
-进行测试和调试时,先验证序列发生器的输出是否符合预期,再测试序列检测器的正确性。
-如遇到问题,请仔细检查电路连接是否正确,或寻求助教或教师的帮助。
6.实验结果分析:-比较生成的序列和检测的结果,验证电路的正确性和稳定性。
-如有误差或异常情况,分析可能原因,进行修正和改进。
7.实验总结:-通过本实验,我们了解了序列发生器和检测器的基本原理和实现方法。
-掌握了用基本门电路实现序列发生器和检测器的设计方法。
数字序列发生器实训报告
一、引言数字序列发生器是一种能够产生周期性数字序列的电路,广泛应用于数字通信、数字信号处理等领域。
本次实训旨在通过设计和实现一个数字序列发生器,加深对数字电路设计原理和移位寄存器应用的理解,提高动手实践能力。
二、实训目的1. 理解数字序列发生器的工作原理;2. 掌握移位寄存器的应用方法;3. 提高数字电路设计能力;4. 培养团队合作精神。
三、实训内容1. 数字序列发生器原理分析;2. 电路设计;3. 电路仿真与测试;4. 电路板制作与调试。
四、实训过程1. 数字序列发生器原理分析数字序列发生器由移位寄存器、计数器、逻辑门电路等组成。
其基本原理是:通过移位寄存器存储一个数字序列,在移位脉冲的作用下,将序列逐位右移或左移,从而产生周期性数字序列。
2. 电路设计本次实训设计一个序列循环长度为16的数字序列发生器。
设计步骤如下:(1)确定输入序列:根据实际需求,自定义输入序列,如1010101010101010。
(2)选择移位寄存器:选用4个74LS194移位寄存器,实现并行输入、串行输出。
(3)设计计数器:使用一个74LS161计数器,实现计数功能。
(4)设计逻辑门电路:利用逻辑门电路实现序列的顺序与逆序输出。
(5)绘制电路原理图:根据以上设计,绘制数字序列发生器的电路原理图。
3. 电路仿真与测试(1)电路仿真:使用Multisim软件对电路原理图进行仿真,验证电路功能是否正常。
(2)电路测试:搭建实际电路,进行功能测试,观察输出序列是否符合预期。
4. 电路板制作与调试(1)制作电路板:根据电路原理图,制作电路板。
(2)焊接元件:将74LS194、74LS161、逻辑门电路等元件焊接在电路板上。
(3)调试电路:检查电路连接是否正确,进行功能调试,确保电路工作正常。
五、实训结果与分析1. 仿真结果通过Multisim软件仿真,验证了电路原理的正确性。
在移位脉冲的作用下,输出序列符合预期。
2. 实际电路测试结果搭建实际电路,进行功能测试,输出序列符合预期,验证了电路设计的正确性。
序列信号发生器
Q2* Q1Q0 Q2 00 01 11 10
0
1
11
dd
D2=Q2Q0'+Q1Q0
Y Q1Q0 Q2 00 01 11 10
01 1 1
1
dd
Y=Q2'Q1'+Q1Q0
11
3.1 利用D 触发器设计一个 110100序列信号发生器
5、检查电路的自启动能力
000
001
010
101 电路是自启动的.
100
011
111
6、得到电路图 (略)
110
12
3.2 用计数器和多路复用器器构成序列信号发生器
方法: 1)如果序列长度为 L ,则将计数器接成 L 进制的计数
器:“n1— n1+L”( 置数法或清零法) 2)将多路复用器的数据输入“ D n1— D n1+L ”接成要
产生序列的信号。 3)将计数器的输出端接到多路复用器的地址输入端。
0100 0010
有效状态
CLOCK
74x194的任何一位Q 输出(如Q0) 都可以实现“100ห้องสมุดไป่ตู้”序列。
Q0 Q1 Q2 Q3
4
2. 用扭环计数器设计“11110000” 序列发生器
CLK Q0
Q1 Q2
Q3
0000
0001
0011
0111 有效圈
1000 1100 1110 1111
5
? 利用扭环计数器构成“11110000”序列发生器
3)再根据状态图画出状态转换表,求出左移时最低位输入的卡 诺图,并求出其表达式。如果有无关项,还要求检察电路的自
启动能力。
4)根据最低位输入表达式,用分立门电路,或者译码器,或者 多路复用器实现反馈输入的组合电路。
实验四信号的矩形脉冲抽样与恢复实验报告
实验四信号的矩形脉冲抽样与恢复实验报告一、实验目的:1.了解信号的采样过程;2.理解采样定理的意义及实际应用;3.掌握信号的抽样与恢复方法。
二、实验原理:在模拟信号中抽取有限个点称为采样,得到的离散信号称为样值序列。
如果编码的信号本身是模拟信号,就要用到编码器。
在信息传输的过程中,需要用到解码器。
实践证明,恢复出的信号要与原来的信号一致。
三、实验设备:1.示波器:DSO-2090;2.功能发生器:DS345四、实验步骤:1.将示波器和功能发生器连接;2. 设置矩形波信号:频率为10KHz,幅度为5Vpp;3.设置功能发生器为矩形波输出;4. 通过示波器调节观测时间为20ms;5.通过观察示波器的波形,记录采样率增大时信号的样值序列变化;6.记录各种情况下信号恢复后的波形及与原信号的比较。
五、实验结果:1.示例波信号的参数设置如下:频率:10KHz幅度:5Vpp2.采样率增大时信号的样值序列变化如下:观测时间:20ms采样频率:10kHz采样点数:200采样频率(kHz),采样点数,样值序列---------------,----------,----------20,400,图表150,1000,图表2100,2000,图表3200,4000,图表43.信号恢复后的波形及与原信号的比较如下:示波器观测信号恢复效果:观测时间:20ms采样频率:10kHz波形1:图表7波形2:图表8六、实验分析:1.从样值序列的变化可见,随着采样点数的增加,样值序列逼近了原始信号,但较高的采样率并不能保证完全恢复原始信号。
2.样值序列的质量取决于采样频率,较高的采样频率有助于更准确地恢复原始信号。
3.从示波器观测信号恢复效果图中可看出,采样点数较多时,恢复出的信号与原始信号几乎一致。
七、实验总结:通过本次实验,我们了解了信号的采样过程,理解了采样定理的意义及实际应用,并掌握了信号的抽样与恢复方法。
实验结果表明,较高的采样频率有助于更准确地恢复原始信号,而较高的采样率并不能完全保证信号的完全恢复。
实验-CMI码型变换实验
实验 CMI码型变换实验一、实验原理和电路说明在实际的基带传输系统中,并不是所有码字都能在信道中传输。
例如,含有丰富直流和低频成分的基带信号就不适宜在信道中传输,因为它有可能造成信号严重畸变。
同时,一般基带传输系统都从接收到的基带信号流中提取收定时信号,而收定时信号却又依赖于传输的码型,如果码型出现长时间的连“0”或连“1”符号,则基带信号可能会长时间的出现0电位,从而使收定时恢复系统难以保证收定时信号的准确性。
实际的基带传输系统还可能提出其他要求,因而对基带信号也存在各种可能的要求。
归纳起来,对传输用的基带信号的主要要求有两点:1、对各种代码的要求,期望将原始信息符号编制成适合于传输用的码型;2、对所选码型的电波波形要求,期望电波波形适宜于在信道中传输。
前一问题称为传输码型的选择;后一问题称为基带脉冲的选择。
这是两个既有独立性又有互相联系的问题,也是基带传输原理中十分重要的两个问题。
传输码(传输码又称为线路码)的结构将取决于实际信道特性和系统工作的条件。
在较为复杂的基带传输系统中,传输码的结构应具有下列主要特性:1、能从其相应的基带信号中获取定时信息;2、相应的基带信号无直流成分和只有很小的低频成分;3、不受信息源统计特性的影响,即能适应于信息源的变化;4、尽可能地提高传输码型的传输效率;5、具有内在的检错能力,等等。
满足或部分满足以上特性的传输码型种类繁多,主要有:CMI 码、AMI、HDB3等等,下面将主要介绍CMI码。
根据CCITT建议,在程控数字交换机中CMI码一般作为PCM 四次群数字中继接口的码型。
在CMI码模块中,完成CMI的编码及解码功能。
CMI编码规则见表4.2.1所示:表4.2.1 CMI的编码规则0直接输出01码型,较为简单。
对于输入为1的码字,其输出CMI码字存在两种结果00或11码,因而对输入1的状态必须记忆。
同时,编码后的速率增加一倍,因而整形输出必须有2倍的输入码流时钟。
m序列产生及其特性实验
实验十 m 序列产生及其特性实验一、实验目的通过本实验掌握m 序列的特性、产生方法及应用。
二、实验内容1、观察m 序列,识别其特征。
2、观察m 序列的自相关特性。
三、基本原理m 序列是有n 级线性移位寄存器产生的周期为21n −的码序列,是最长线性移位寄存器序列的简称。
码分多址系统主要采用两种长度的m 序列:一种是周期为1521−的m 序列,又称短PN 序列;另一种是周期为4221−的m 序列,又称为长PN 码序列。
m 序列主要有两个功能:①扩展调制信号的带宽到更大的传输带宽,即所谓的扩展频谱;②区分通过多址接入方式使用同一传输频带的不同用户的信号。
1、产生原理图10-1示出的是由n 级移位寄存器构成的码序列发生器。
寄存器的状态决定于时钟控制下输入的信息(“0”或“1”),例如第I 级移位寄存器状态决定于前一时钟脉冲后的第i -1级移位寄存器的状态。
图中C 0,C 1,…,C n 均为反馈线,其中C 0=C n =1,表示反馈连接。
因为m 序列是由循环序列发生器产生的,因此C 0和C n 肯定为1,即参与反馈。
而反馈系数C 1,C 2,…,C n-1若为1,参与反馈;若为0,则表示断开反馈线,即开路,无反馈连线。
图10-1 n 级循环序列发生器的模型一个线性反馈移动寄存器能否产生m 序列,决定于它的反馈系数(0,1,2,,)i c i n =L ,下表中列出了部分m 序列的反馈系数i c ,按照下表中的系数来构造移位寄存器,就能产生相应的m 序列。
表10-1 部分m 序列的反馈系数表级数n周期P反馈系数i C (采用八进制)3 7 134 15 23 5 31 45,67,756 63 103,147,1557 127 203,211,217,235,277,313,325,345,367 8 255 435,453,537,543,545,551,703,747 9 511 1021,1055,1131,1157,1167,1175 10 1023 2011,2033,2157,2443,2745,3471 11 2047 4005,4445,5023,5263,6211,7363 12 4095 10123,11417,12515,13505,14127,15053 13 8191 20033,23261,24633,30741,32535,37505 14 16383 42103,51761,55753,60153,71147,67401 15 32765 100003,110013,120265,133663,142305根据表10-1中的八进制的反馈系数,可以确定m 序列发生器的结构。
实验四OOK信号的调制与解调
实验四OOK信号的调制与解调
北京邮电大学实验报告
实验报告
题目:基于TIMS通信原理实验报告
2022年12月
北京邮电大学实验报告
一、实验目的
1.了解OOK信号的产生及其实现方法。
2.了解OOK信号波形和功率谱的特点及其测量方法。
3.了解OOK信号的解调及其实现方法。
二、实验原理
OOK的产生原理图:
OOK的非相干解调:
将OOK信号整流,再经过低通,实现包络检波,用提取出来的时钟抽样判决得到解调输出
三、实验步骤
1.连接电路,产生OOK信号。
用示波器观察各点信号波形,并用
频谱仪观察各点功率谱(将序列发生器模块印刷电路板上的双列直插开关拨到“11”,使码长为2048。
北京邮电大学实验报告
2.自主完成时钟提取、采样、判决,产生OOK的非相干解调信号。
用
示波器观察各点波形。
四、实验结果
4分频2.083khz时钟信号:
北京邮电大学实验报告
ook调制信号:
00k信号的解调:
北京邮电大学实验报告
与初始序列相比有一定的时延和失真,但是调试了很久,无法改善。
五、实验讨论(思考题)
对OOK信号的相干解调,如何进行载波提取?请画出原理框图及实验
框图。
答:从接收到的OOK信号提取离散的载频分量,恢复载波。
框图如下:北京邮电大学实验报告
六、实验总结:
ook的调制与解调相对来说没有什么特别的困难点,有了上面三次实验的基础,整个实验还是颇为顺利,但是最后解调失真一直不能
削去,以后还是要追求尽善尽美。
信号处理仿真与应用课程试做实验报告
信号处理仿真与应用课程试做实验报告实验名称实验四、正弦稳态电路仿真——SMULINK实现姓名李攀(2012021270)教师姓名王丽娟实验地点B301 实验日期2015..6.02一、实验内容仿真正弦稳态电路电路,要求熟悉SIMULINK常用模块,搭建仿真模型,并绘制出波形。
如左图所示电路已知C=0.5F,R2=R3=2 ,L4=1H,U s=10cost,I s(t)=5cos2t,求b,d两点间的电压。
二、实验目的1、熟悉SIMULINK常用模块;2、建立含受控源的电路模型并进行仿真。
三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况)计算机一台(安装MATLAB6.5版本或以上版本)四、实验试做记录(含程序、数据记录及分析)dcaR2IR3L4C+U s bVC V oltage Source模块:位于SimPowerSystems节点下的Electrical Sources模块库内,代表一个理想交流电压源AC Current Source 模块:位于SimPowerSystems节点下的Electrical Sources模块库内,代表一个理想交流电压源。
V oltage Measurement 模块:位于SimPowerSystems节点下的Measurements模块库内,用于测量所在支路的电压值。
Scope 模块:位于Simulink节点下的Sink模块库内,用于显示输出图形,功能相当于一个示波器。
Series RLC Branch模块:基本电路为了观察运行仿真后的输出结果,还应将模型编辑窗口菜单栏中“Simulation/ Simulation Parameters…项”的“Solver选项卡”中所含的“Start time参数”设置为0,“Stop time 参数”设置为20,这样可以使得仿真时间从0s到20s其运行结果如下图所示:五、实验总结Simulink仿真直观,选择模型部件设置相应参数非常重要。
PAM实验4
与
输出波形
观
测
2. 观测J005与TP704,记录输入/输出信号波形,分析解释当输入信 号频率不同时,测量结果变化的原因。
3.当输入信号频率﹥多少时,还原信号产生混叠.
五、实验报告内容与思考题
1、整理实验数据,画出各项实验内容所测试的 波形。
2、当fs>2fh和fs<2fh时,低通滤波器输出的 波形是什么?总结一般规律。说明为什么?
实验四
脉冲振幅(PAM) 调制与解调系统实验
一、实 验 目 的
1.通过脉冲幅度调制与解调实验,加深理解脉冲幅度调制 与解调的特点.
2.通过PAM编/译码系统实验,掌握PAM系统的电路组成 与工作原理,建立PAM通信系统的概念。
3.通过验证抽样定理实验,加深理解和掌握抽样定理。
二.实验设备及器材配置
U703
抽样门
U702B
缓 冲
U702A、C
低通 滤波器
TP504
内部(左) TDMF2
K001
外部(右)
抽样脉冲 产生器
平顶抽样(左) TDMF2
KQ02
自然抽样(右)
4、脉冲调幅与解调系统实验电路电原理图
1 自 然 抽 样 PAM 信 号 产 生 与 测 量
三、实验内容与步骤
实验准备:
K701(右) K702(左) K001(右) KQ02(右)
顶 电路测试框图如图示
在框图中标明各单元电路名称
抽
样 PAM
1/Ώ(ω)
信 正弦波:f=1KHz/2Vp号 p J005和J006(地).
Vi
t
解
调 测 量
测试数 据观察 与记录
Vo
1.J005与TP704信号波形
实验四多谐震荡器及单稳态触发器
复位功能
观察单稳态触发器的复位功能,发现当输入信号下降沿到来时, 输出信号迅速复位。
波形观察
观察单稳态触发器的输出波形,发现波形稳定,无明显失真。
结果分析
多谐震荡器实验结果表明,通过调整R、C参数,可以改变输出频率和占空比,实现 频率和占空比的精确控制。
感谢您的观看
单稳态触发器
单稳态触发器是一种具有记忆功能的电路,它能够在接收到外部信号时从稳态翻 转到暂态,并在一段时间后自动返回稳态。单稳态触发器由电阻器、电容器和晶 体管等元件组成,通过正反馈和定时元件的作用实现暂态的维持和控制。
02 多谐震荡器
多谐震荡器的工作原理
01
振荡原理
多谐震荡器利用正反馈原理,通过在电路中引入适当的延迟,使得电路
多谐震荡器的电路组成
放大器
偏置元件
多谐震荡器通常由一个放大器组成, 用于放大电路中的电压或电流信号。
偏置元件用于为放大器提供静态工作 点,并调节多谐震荡器的振荡幅度和 频率。
反馈网络
反馈网络是多谐震荡器的重要组成部 分,它由电阻、电容和电感等元件组 成,用于产生适当的延迟和正反馈。
多谐震荡器的性能指标
频率测量
通过示波器测量多谐震荡器的输 出频率,得到频率范围为1.2kHz
至1.8kHz,符合理论值。
波形观察
观察多谐震荡器的输出波形,发 现波形稳定,无明显失真。
占空比调整
通过改变多谐震荡器的R、C参数, 观察输出波形的占空比变化,发 现占空比可调范围为50%至70%。
单稳态触发器的实验结果
延时测量
实验四:多谐震荡器及单稳态触发 器
Verilog HDL 之 序列信号发生器
Verilog HDL 之序列信号发生器一、原理在数字电路中,序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号.能产生这种信号的逻辑器件就称为序列信号发生器.根据结构不同,它可分为反馈移位型和计数型两种。
移位型序列信号发生器是由移位寄存器和组合电路两部分构成,组合电路的输出,作为移位寄存器的串行输入。
计数型序列信号发生器能产生多组序列信号,这是移位型发生器所没有的功能.计数型序列信号发生器是由计数器和组合电路构成的。
本实验的目的就是设计一个序列信号发生器。
设计产生序列11100100、11100100、···的计数型序列信号发生器电路。
二、实现在设计文件中输入Verilog代码防抖模块1 /****************************** 分频模块 *************************************/23 `timescale 1 ns / 1 ps4 module qu_dou ( clk ,rst , a ,b );56 input clk ;7 wire clk ;8 input rst ;9 input a ;10 wire a ;1112 output b ;13 reg b ;1415 reg [31:0] cnt ;16 reg clkout ;17 always @ ( posedge clk or negedge rst )18 begin19 if ( rst == 1'b0 )20 cnt <= 0 ;21 else begin if ( a==1'b1 ) begin22 if ( cnt >= 32'd3000000 )23 b <= 1 ;24 else25 cnt <= cnt + 1'b1 ;2627 end28 else begin b <= 1'b0 ;29 cnt <= 0 ;30 end31 end32 end333435 endmodule功能实现1 `timescale 1 ns / 1 ps23 module xlgen ( Q ,clk ,res ,rst ,sysclk );45 input clk ;7 input res ;8 wire res ;9 input sysclk ;10 input rst ;1112 output Q ;13 reg Q ;14 reg [7:0] Q_r ;1516 /***************** 例化去抖模块 *************************************/17 wire clk_r ;18 qu_dou qu_dou (19 .clk (sysclk) ,20 .rst (rst) ,21 .a (clk),22 .b (clk_r));2324 //********************************************************************2526 always @( posedge clk_r or posedge res)27 begin2829 if (res ==1) begin30 Q <= 1'b0;31 Q_r <= 8'b11100100 ;32 end34 begin35 Q <= Q_r[7];36 Q_r <= Q_r<<1;37 Q_r[0] <=Q;38 end39 end4041 endmodule。
序列信号发生器VHDL设计实验报告
实验三序列信号发生器VHDL设计一、实验目的1、设计一个序列信号发生器,可以在时钟的作用下周期性的产生1110010序列信号2、学习时序电路的设计方法;3、掌握产生周期性信号电路的设计方法;4、掌握同步和异步概念;5、掌握仿真的目的和作用;二、实验环境QuartusII 、PC机、GW-PK2 EDA实验箱三、实验原理给出原理图,说明行为描述方式设计序列信号发生器的原理。
可以产生周期信号的序列信号发生器由计数器和译码器构成。
若想产生1110010序列信号,则需要三位二进制计数器,从000记到110,当时钟是上升沿时,若当前记到110,则将计数清为000,再从头开始,否则计数加1,译码器将每个三位二进制数转换为一位序列信号,计数器和译码器分别由两个进程实现。
四、实验内容及要求利用QuartusII完成序列信号发生器的VHDL设计及仿真测试,给出仿真波形,进行引脚锁定,并在实验箱上进行硬件验证。
五、实验步骤(1)用文本方式输入设计文件并存盘①创建工程,利用“New Preject Wizard”创建此设计工程。
选择菜单“File” “New Preject Wizard”,点击Next,即可弹出工程设置对话框点击此框最上一栏右侧的按钮“…”,设置工程路径,找到文件夹D:\Quartus8\vhdl_code\three,填写工程名和顶层文件名称后,点击Next按钮进行下一步。
②添加设计源程序。
如果已有源程序,可以在此加入到工程中,如果没有点击Next进行下一步。
③选择目标芯片。
首先在“Family”栏选芯片系列,在此选“ACEX1K”系列,选择此系列的具体芯片:EP1K30TC144-3。
④选择仿真器和综合器类型。
点击上图的Next按钮,这时弹出的窗口是选择仿真器和综合器类型的,如果都是选默认的“NONE”,表示都选QuartusII中自带的仿真器和综合器,因此,在此都选默认项“NONE”。
⑤结束设置。
移位寄存器序列信号发生器
2021/2/2
转下页
15
Q3Q2Q1Q0 F=1
1011
用移位寄存器实现序列信号发生器续
F=0
F=1
F=0
F=1
F=1
0111 1110 1101 1010 0101
步骤二:上面状态图存在移位特性,根据其移位特性求其反馈函数; Q3为串出;Q0为串入;反馈函数的输出即次态的串入
F
Q1Q0 00
Q3Q2
串行输入 CP
F(Q0,Q1, Q2,Q3)
D Q Q0 D Q Q1 D Q Q2
>CLK QN
>CLK QN
>CLK QN
D Q Q3 >CLK QN
串行输出
2021/2/2
9
用反馈移位寄存器实现环行计数器
ex4:用’194实现3位环行计数器 首先看环行计数器的状态机,是不是具有移位特性
Q2Q1Q0
最小风险设计,要对未用状态进行讨论;讨论的原则为,在不改变移位 特性的基础上,对位用状态的次态进行讨论
Q2Q1FQ=10 000
F=1 001
两个未用状态
F=1
F=1
101的次态应为01d;其中01
011
101
由移位特性所决定;d为反馈
函数所决定;选择d为1,这
F=1
样101次态为011
100
110
(最小成本设计) 步骤一:通过移位特性构建状态图(要求状态图中不能出现重复状态);
如果选则两位: 10
01 11 11 10 …… 有重复状态,舍弃
如果选则三位: 101 011 111 110 101 010 有重复状态,舍弃
如果选则四位: 1011
合工大FPGA实验报告
《电子工程师基本硬件实践技能训练(下)》实验报告系(院):计算机与信息学院专业:通信工程班级:姓名:学号:指导教师:许良凤吴从中周红平学年学期: 2018 ~ 2019 学年第一学期2018年12月23日实验一 7段数码显示译码器设计一、实验目的(1)学习使用Verilog HDL语言设计简单组合逻辑电路。
(2)学习使用case语句来描述真值表。
二、实验设备与器材GW-PK2 EDA实验箱一台。
三、实验内容及实验步骤(1)用Verilog HDL设计一个共阴数码管的译码电路,用case语句描述7段译码器的真值表。
(2)编译、综合、适配、下载,验证结果。
(3)进行功能仿真。
(4)设计提示:建议选实验电路模式6,用数码8显示译码输出(PIO46~PIO40),键8、键7、键6、键5四位控制输入,硬件验证译码器的工作性能。
注意,在仿真中,4位输入都必须用总线方式给数据。
具体步骤:(1)用文本方式输入设计文件并存盘。
(2)选择目标器件并编译、综合。
(3)进行时序仿真。
(4)锁定引脚,并编译、综合。
(5)在实验箱上选择模式6。
(6)将数据下载到实验箱。
(7)在实验箱上验证7段显示数码器的功能。
实验代码如下module DECL7S (A,LED7S);input[3:0] A; output[6:0] LED7S;reg[6:0] LED7S;always@(A)case(A)4'b0000 : LED7S <= 7'B0111111;4'b0001 : LED7S <= 7'B0000110;4'b0010 : LED7S <= 7'B1011011;4'b0011 : LED7S <= 7'B1001111;4'b0100 : LED7S <= 7'B1100110;4'b0101 : LED7S <= 7'B1101101;4'b0110 : LED7S <= 7'B1111101;4'b0111 : LED7S <= 7'B0000111;4'b1000 : LED7S <= 7'B1111111;4'b1001 : LED7S <= 7'B1101111;4'b1010 : LED7S <= 7'B1110111;4'b1011 : LED7S <= 7'B1111100;4'b1100 : LED7S <= 7'B0111001;4'b1110 : LED7S <= 7'B1111001;4'b1111 : LED7S <= 7'B1110001;default : LED7S <= 7'B0111111;endcaseEndmodule2.编译、综合、适配、下载,验证结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学实验报告学生姓名:学号:专业班级:中兴101班实验类型:□验证□综合■设计□创新实验日期:2012、11、16成绩:实验四序列信号发生器与检测器设计一、实验目的1、学习VHDL文本输入法2、学习有限状态机的设计3、利用状态机实现串行序列的输出与序列的检测4、继续学习优化设计二.实验内容与要求1. 设计序列发生器,完成序列为0111010011011010的序列生成器2.用有限状态机设计序列检测器,实现串行序列11010的检测器3. 若检测到符合要求的序列,则输出显示位为“1”,否则为“0”4. 对检测到的次数计数5.整个工程采用顶层文件+底层模块的原理图或文本的设计思路三、实验仪器PC机、Quartus II软件、EDA实验箱四、实验思路1.设计序列发生器基本思想为一个信号CQ1计数,给另一个信号CO(代表序列的每一位)赋值的方法:先设定端口CQ1用于产生序列时计数,因为序列共16位,因此端口CQ1为标准逻辑矢量,位宽为4,设另一个端口M代表序列的每一位,CQ1每计一个数,就给M赋一个值,这样产生一个16位的序列。
由于端口不能参与相关运算,因此在结构体中我分别定义了信号CQ1(标准逻辑矢量,位宽4),信号Q与相应的端口CQ1 CO对应,在进程中参与相应的运算,在程序的最后再用端口接收信号: CO<=Q;在进程中我采用case –when 语句,如当CQ1为“0000”的时候,给另一信号Q赋‘0’,当CQ1为“0001”2.序列检测器序列检测器设计的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及序列,直到在连续的检测中收到的每一位码都与实验要求相同。
在此,必须利用状态转移图。
电路需要分别不间断记忆:初始状态、1、11、110、1101、11010共六种状态,状态转移如图:若检测到“11010”序列,则输出信号N为1,定义VARIABLE X:STD_LOGIC_VECTOR (3 DOWNTO 0)进行计数,最后把变量X赋给输出SS,在数码管上显示检测到序列“11010”的次数。
3.时钟脉冲的选择数码管显示的扫描时钟需要很快的速度,因此采用1KHz频率的时钟;而序列发生器,为了能够人眼识别亮灭,则我选择采用2000分频之后得到的0.5Hz频率五.原理图输入法设计(程序来源:基本上独立完成)1. 建立文件夹建立自己的文件夹(目录),如c:\myeda,进入Windows操作系统Quartus II不能识别中文,文件及文件夹名不能用中文。
2. 原理图设计输入打开Quartus II,选菜单File→New,选择“Device Design File->Block Diagram->Schematic File”项。
点击“OK”,在主界面中将打开“Block Editor”窗口。
(1)分频器模块:(实体名为DIV)本设计使用的FPGA开发板中使用的芯片是Cyclone II EP2C35F672C8,使用的是10kHz的时钟脉冲输入,根据电路的具体设计需要,对其进行分频设计。
如图1所示为系统的分频模块,其中模块Clockout管脚输出为0.5hz的时钟脉冲,得出序列发生器和序列检测器模块正常工作的时钟信号,在Clockin管脚输出为一个1khz的时钟脉冲,作用与动态扫描模块的正常工作。
输入管脚:Clockin为1khz脉冲输入;输出管脚:Clockout为0.5hz脉冲输出;--时间:2012年11月10号--版本:7.2--功能:分频器(2000分频)分频模块DIV源代码div.vhd如下:-------分频程序,从1KHZ中得到0.5HZ的计数频率,2000分频----------LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; --这3个程序包足发应付大部分的VHDL程序设计USE IEEE.STD_LOGIC_Arith.ALL;USE IEEE.STD_LOGIC_Unsigned.ALL;ENTITY DIV ISGENERIC(N:Integer:=20000);--此处定义了一个默认值N=10000,即电路为10000分频电路; Port(Clockin:IN STD_LOGIC;ClockOut:OUT STD_LOGIC);END;ARCHITECTURE Devider OF DIV ISSIGNAL Counter:Integer RANGE 0 TO N-1;SIGNAL Temp1:STD_LOGIC; --信号的声明在结构体内,进程外部BEGINPROCESS(Clockin)BEGINIF RISING_EDGE(Clockin) THENIF Counter=N-1 THENcounter<=0;Temp1<=Not Temp1;ELSECounter<=Counter+1;IF Counter=(N/2-1) THENTemp1<=NOT Temp1;END IF;END IF;END IF;END PROCESS;ClockOut<=Temp1;END;(2)序列发生器模块:(实体名为C_OUT)序列发生器模块如图2所示,其中:输入管脚: CLK为0.5hz的时钟脉冲;RST为复位信号;输出管脚:CO序列发生器设计时用于计数,实现模16计数,以产生16位的序列图2--时间:2012年11月10号--版本:7.2--功能:产生一个十六位的指定序列-----------------C_OUT------------------------------------------------------------------LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;--为了重载ENTITY C_OUT ISPORT (CLK,RST:IN STD_LOGIC;--定义时钟和复位信号CO :OUT STD_LOGIC );--序列发生器设计时用于计数,实现模16计数,以产生16位的序列END C_OUT;----------------------------------------------------------------------------------------ARCHITECTURE behav OF C_OUT ISSIGNAL CQ1:STD_LOGIC_VECTOR(3 DOWNTO 0);--定义信号进行计数.实现模16计数,对应依次产生序列的位0到位15;SIGNAL Q: STD_LOGIC;BEGINPROCESS(CLK,RST,Q)BEGINIF RST='1' THEN CQ1<="0000"; Q<='0'; --如果复位,则计数器清0,M也清0 ELSIF CLK'EVENT AND CLK='1' THENCQ1<=CQ1+1; --时钟上升沿到来,Q开始计数,产生序列CASE CQ1 ISWHEN "0000" =>Q<='0';WHEN "0001" =>Q<='1';WHEN "0010" =>Q<='1';WHEN "0011" =>Q<='1';WHEN "0100" =>Q<='0';WHEN "0101" =>Q<='1';WHEN "0110" =>Q<='0';WHEN "0111" =>Q<='0';WHEN "1000" =>Q<='1';WHEN "1001" =>Q<='1';WHEN "1010" =>Q<='0';WHEN "1011" =>Q<='1';WHEN "1100" =>Q<='1';WHEN "1101" =>Q<='0';WHEN "1110" =>Q<='1';WHEN "1111" =>Q<='0';END CASE;END IF;END PROCESS;--序列发生器到此结束CO<=Q;END behav;(3)序列检测模块:(实体名为SCHK)序列检测模块如图3所示,其中:输入管脚: CLK为0.5hz的时钟脉冲;EN为使能端,为1才正常工作;M为显示当前产生的位;输出管脚:N为显示满足序列要求时,产生‘1’,即为标志位。
图3--时间:2012年11月10号--版本:7.2--功能:检测指定的序列---------- SCHK ------------------------------------------------------------------------------LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;--为了重载ENTITY SCHK ISPORT(CLK,EN,M : IN STD_LOGIC; --EN为使能端,为1才正常工作;M为显示当前产生的位N : OUT STD_LOGIC); -N为显示满足序列要求时,产生‘1’,即为标志位END SCHK;----------------------------------------------------------------------------------------ARCHITECTURE behav OF SCHK ISTYPE STATE IS(S0,S1,S2,S3,S4,S5);---状态机的定义,5个状态SIGNAL S:STATE;SIGNAL A1,A2,A3,A4,A5:STD_LOGIC;--SIGNAL Q : INTEGER RANGE 0 TO 5 ;--SIGNAL D : STD_LOGIC_VECTOR(4 DOWNTO 0);SIGNAL N1:STD_LOGIC;BEGINPROCESS(CLK,S,N1,EN) ---序列检测器进程BEGINIF EN='0' THENS<=S0; N1<='0';A5<='0';A4<='0';A3<='0';A2<='0';A1<='0';ELSIF CLK'EVENT AND CLK='0' THENN1<='0';CASE S ISWHEN S0 => if M='1' then S<=S1;else S<=S0;end if;WHEN S1 => if M='1' then S<=S2;else S<=S0;end if;WHEN S2 => if M='0' then S<=S3;else S<=S2;end if;WHEN S3 => if M='1' then S<=S4;else S<=S0;end if;WHEN S4 => if M='0' then S<=S5; ----生成一个11010序列N1<='1';else S<=S2;end if;--11011010里有一个,同时计数WHEN others=> S<=S0;END CASE;A5<=A4;---移位输出显示在led上以便观看A4<=A3;A3<=A2;A2<=A1;A1<=M;--将最近生产的序列赋给最前端的A1位end if;N<=N1;--显示检测到11010,检测到时它为高电平,它所对应二极管亮,否则二极管灭END PROCESS;END behav ;(4)16进制计数模块(实体名:COUNT)16进制计数模块如图4所示,其中:输入管脚: CLK为检测到一个序列产生一个脉冲;RST为计数复位信号;EN为使能端;输出管脚:Q [3..0]为计数的个位;COUNT计数达到15时,产生标志信号图4--时间:2012年11月10号--版本:7.2--功能:16进制计数模块------------- COUNT -----------------------------------------------LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT ISPORT (CLK,RST,EN :IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT: OUT STD_LOGIC );END ENTITY COUNT;---------------------------------------------------------------------------------------- ARCHITECTURE ONE OF COUNT ISBEGINPROCESS(CLK,EN,RST)V ARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST='1' THEN CQI:= (OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1' THENIF EN='1' THENIF CQI<15 THENCQI:=CQI+1;ELSE CQI:="0000";END IF;END IF;END IF;IF CQI=15 THEN COUT<='1';ELSE COUT<='0';END IF;Q<=CQI;END PROCESS COUNT;END ARCHITECTURE ONE;(5)数码管显示模块(实体名:scan_led)数码管显示模块如图5所示,其中:输入管脚: CLK为1khz的时钟脉冲;data1[3..0]为要显示的数的个位;data2[3..0] 为要显示的数的十位;输出管脚:scan数码管显示码choose数码管位选信号图5--时间:2012年11月10号--版本:7.2--功能:将计数结果在数码管显示--------------- scan_led ---------------------------------LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scan_led ISPORT(clk : IN STD_LOGIC;data1,data2: IN STD_LOGIC_VECTOR(3 DOWNTO 0);scan : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--scan数码管显示码choose: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));--choose数码管位选信号END ENTITY;ARCHITECTURE one OF scan_led ISSIGNAL cout8:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL A :STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP1:PROCESS(cout8)—片选BEGINCASE cout8 ISWHEN "000" => choose <= "000"; A <= data1;WHEN "001" => choose <= "001"; A <= data2;WHEN "010" => choose <= "010"; A <= "0000";WHEN "011" => choose <= "011"; A <= "0000";WHEN "100" => choose <= "100"; A <= "0000";WHEN "101" => choose <= "101"; A <= "0000";WHEN "110" => choose <= "110"; A <= "0000" ;WHEN "111" => choose <= "111"; A <= "0000";WHEN OTHERS => NULL;END CASE;END PROCESS P1;P2:PROCESS(clk)BEGINIF clk'EVENT AND clk ='1' THEN cout8 <= cout8+1;END IF;END PROCESS P2;P3:PROCESS(A)—译码BEGINCASE A ISWHEN "0000"=> scan <="0111111"; --0WHEN "0001"=> scan <="0000110"; --1WHEN "0010"=> scan <="1011011"; --2WHEN "0011"=> scan <="1001111"; --3WHEN "0100"=> scan <="1100110"; --4WHEN "0101"=> scan <="1101101"; --5WHEN "0110"=> scan <="1111101"; --6WHEN "0111"=> scan <="0000111"; --7WHEN "1000"=> scan <="1111111"; --8WHEN "1001"=> scan <="1101111"; --9WHEN "1010"=> scan <="1110111"; --AWHEN "1011"=> scan <="1111100"; --BWHEN "1100"=> scan <="0111001"; --CWHEN "1101"=> scan <="1011110"; --DWHEN "1110"=> scan <="1111001"; --EWHEN "1111"=> scan <="1110001"; --FWHEN OTHERS=> NULL;END CASE;END PROCESS P3;END;2.包装元件入库。