微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 一种二进制序列信号检测器的3种设计方法

一种二进制序列信号检测器的3种设计方法

时间:11-24 来源:OFweek电子工程网 点击:

二进制序列信号检测器是一种能够检测输入的一串二进制编码,当该二进制码与事先设定的码一致时,检测电路输出高电平,否则输出低电平。该检测电路可广泛用于日常生产、生活及军事。例如,可以用在密码认证中,当输入密码与事先设定的密码一致时,认证成功。再如在军事领域,比较关心的是某些感兴趣的内容,而通信数据是海量且加密的,没有必要一一破译,只要破译部分关键词后,就可在侦听过程中,只检测这些关键词,一旦侦听到,立即启动记录仪,记录关键词时段的通信内容加以解密。在许多电子技术资料中也有一些序列信号检测电路的设计,但设计方法单一、扩展性不强。下面通过实例来说明电路的3种设计方法。

设计任务:设计一个二进制序列信号检测器,它有一个输入X,当接收到的序列为1001,则在上述序列输入最后一个1的同时,电路输出Z=1,否则输出为0,输入序列可以重叠。例如:当输入X的序列为0100100101001(首位在左),对应输出Z=0000100100001。

  

1 用分立触发器设计

触发器的种类很多,其中双端输入的JK触发器和单端输入的D触发器最具代表性。由于用D触发器设计的电路更为简单,故采用它来设计电路。

  

1.1 逻辑抽象

由于待检测的序列为1001,故设电路在一直输入0时的状态为S0,输入一个1以后的状态为S1,连续输入10以后的状态为S2,连续输入100后的状态为S3,连续输入1001后的状态为S4。于是得到状态转换如图1所示。

  

  图1 状态转换图

选取第1、3行解释其原理:S0表示接收到的是0,当在此基础上再接收到一个0后变为00,而需要检测的序列是1001,所以电路状态仍然停留在S0上;当电路在S0的基础上接收到1后表示接收到1001序列中的第一个1,于是电路状态转为S1。同理S2表示已经接收到10,当在此基础上接收到0后变为100,电路转到S3,但是接收到1后则变为101,于是前面接收的两位代码失去作用,只有第3位的1可作为1001的第一位,所以电路状态转回S1。

通过观察状态转换表,可以发现,S1和S4在同样的输入下有同样的输出,而且状态转移后得到同样的次态。因此它们是等价的可以合并,于是,状态转换表可以化简如图2所示。

  

  图2 化简后的转换表

从物理概念上也不难理解这种情况。当电路连续接收到1001后,输出为1,但序列可以重叠,故最后一个1可作为下一个1001序列的第一位,所以电路在连续接收到1001后的状态S4实际上就是S1。

  

1.2 编码

由化简后的状态转换表2可知,电路总共有4种状态(S0~S3),而每个触发器的输出Q可以用0或1表示两种状态,于是两个触发器的输出Q1Q0的4种00、01、10、11就可以表示这4种状态S0~S3。这个过程即为编码。

二进制序列信号检测器是一种能够检测输入的一串二进制编码,当该二进制码与事先设定的码一致时,检测电路输出高电平,否则输出低电平。该检测电路可广泛用于日常生产、生活及军事。例如,可以用在密码认证中,当输入密码与事先设定的密码一致时,认证成功。再如在军事领域,比较关心的是某些感兴趣的内容,而通信数据是海量且加密的,没有必要一一破译,只要破译部分关键词后,就可在侦听过程中,只检测这些关键词,一旦侦听到,立即启动记录仪,记录关键词时段的通信内容加以解密。在许多电子技术资料中也有一些序列信号检测电路的设计,但设计方法单一、扩展性不强。下面通过实例来说明电路的3种设计方法。

设计任务:设计一个二进制序列信号检测器,它有一个输入X,当接收到的序列为1001,则在上述序列输入最后一个1的同时,电路输出Z=1,否则输出为0,输入序列可以重叠。例如:当输入X的序列为0100100101001(首位在左),对应输出Z=0000100100001。

  

1 用分立触发器设计

触发器的种类很多,其中双端输入的JK触发器和单端输入的D触发器最具代表性。由于用D触发器设计的电路更为简单,故采用它来设计电路。

  

1.1 逻辑抽象

由于待检测的序列为1001,故设电路在一直输入0时的状态为S0,输入一个1以后的状态为S1,连续输入10以后的状态为S2,连续输入100后的状态为S3,连续输入1001后的状态为S4。于是得到状态转换如图1所示。

  

  图1 状态转换图

选取第1、3行解释其原理:S0表示接收到的是0,当在此基础上再接收到一个0后变为00,而需要检测的序列是1001,所以电路状态仍然停留在S0上;当电路在S0的基础上接收到1后表示接收到1001序列中的第一个1,于是电路状态转为S1。同理S2表示已经接收到10,当在此基础上接收到0后变为100,电路转到S3,但是接收到1后则变为101,于是前面接收的两位代码

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top