一种基本编解码单元以及编解码器的制作方法

文档序号:16197435发布日期:2018-12-08 06:16阅读:211来源:国知局
一种基本编解码单元以及编解码器的制作方法

本申请涉及编解码技术领域,尤其涉及一种基本编解码单元以及编解码器。

背景技术

目前数字电路已经被广泛使用。出于信息隐藏、错误校验等目的经常需要对原始信息进行编码。编码算法可以由软件程序实现,也可以由硬件电路实现。软件实现编码算法的灵活性更高,但所需的计算时间和功耗通常均远高于硬件编码电路。在物联网等功耗敏感的应用场合经常需使用硬件电路进行编码。现有技术中的信息隐藏编码硬件实现中,通常编码功能和解码功能需使用不同的电路,增加了电路设计的复杂性和制造成本。另一方面,编码后的数据通常不能保持原有数据的奇偶性(即当原始数据中有奇数个1时,编码后的数据中可能会有奇数个1或偶数个1),进行传输时必需全部接收并解码后才能通过奇偶校验判断是否发生了位翻转,若发现发生了位翻转则浪费了计算资源。



技术实现要素:

本申请的目的在于提供一种本编解码单元以及编解码器,其编码和解码使用同一个电路实现,并且,编码后的数据可保持奇偶性,当本编码电路用于数字通信时,接收方可直接对编码后的数据进行奇偶校验,并在校验失败时直接丢弃数据,从而可避免对已发生位翻转的无效数据进行解码而浪费计算资源。

一种基本编解码单元,包括两个相同的逻辑电路,两个逻辑电路分别用于编码和解码;逻辑电路包括相同数量的输入引脚和输出引脚以及若干异或门。

如上的,其中,逻辑电路包括八个输入引脚和八个输出引脚,每个输入引脚通过异或门与五个输出引脚关联。

如上的,其中,每个输入引脚与第一异或门的输入端连接,第一异或门的输出端作为第一输出引脚,使输入引脚与第一输出引脚关联;并且,每个输入引脚与第二异或门的输入端连接,第二异或门的输出端与第三异或门的输入端连接,第三异或门的输出端与第四异或门、第五异或门、第六异或门以及第七异或门的输入端连接,第四异或门、第五异或门、第六异或门以及第七异或门的输出端分别作为第二输出引脚、第三输出引脚、第四输出引脚以及第五输出引脚,使得输入引脚分别与第二输出引脚、第三输出引脚、第四输出引脚以及第五输出引脚关联。

如上的,其中,逻辑电路包括十四个异或门,定义十四个异或门分别为异或门1、异或门2、异或门3、异或门4、异或门5、异或门6、异或门a、异或门b、异或门c、异或门d、异或门e、异或门f、异或门g以及异或门h,定义8个输入引脚为i1、i2、i3、i4、i5、i6、i7、i8,定义8个输出引脚为o1、o2、o3、o4、o5、o6、o7、o8,其中,输入引脚i1与异或门b的输入端连接,异或门b的输出端为输出引脚o2;输入引脚i1与异或门1的输入端连接,异或门1的输出端与异或门6的输入端连接,异或门6的输出端与异或门c、d、e、h的输入端连接,异或门c、d、e、h的输出端分别为输出引脚o3、o4、o5以及o8。

如上的,其中,输入引脚i2与异或门a的输入端连接,异或门a的输出端为输出引脚o1;输入引脚i2与异或门1的输入端连接,异或门1的输出端与异或门6的输入端连接,异或门6的输出端与异或门c、d、e、h的输入端连接,异或门c、d、e、h的输出端分别为输出引脚o3、o4、o5以及o8。输入引脚i3与异或门e的输入端连接,异或门e的输出端为输出引脚o5;输入引脚i3与异或门2的输入端连接,异或门2的输出端与异或门5的输入端连接,异或门5的输出端与异或门a、异或门b、异或门f和异或门g的输入端连接,异或门a、异或门b、异或门f和异或门g的输出端分别为输出引脚o1、o2、o6以及o7。

如上的,其中,输入引脚i4异或门h的输入端连接,异或门h的输出端为输出引脚o8;输入引脚i4与异或门2的输入端连接,异或门2的输出端与异或门5的输入端连接,异或门5的输出端与异或门a、异或门b、异或门f和异或门g的输入端连接,异或门a、异或门b、异或门f和异或门g的输出端分别为输出引脚o1、o2、o6以及o7。输入引脚i5与异或门c的输入端连接,异或门c的输出端为输出引脚o3;输入引脚i5与异或门3的输入端连接,异或门3的输出端与异或门5的输入端连接,异或门5的输出端与异或门a、异或门b异或门f和异或门g的输入端连接,异或门a、异或门b、异或门f和异或门g的输出端分别为输出引脚o1、o2、o6以及o7。

如上的,其中,输入引脚i6与异或门g的输入端连接,异或门g的输出端为输出引脚o7;输入引脚i6与异或门4的输入端连接,异或门4的输出端与异或门6的输入端连接,异或门6的输出端与异或门c、异或门d、异或门e以及异或门h的输入端连接,异或门c、异或门d、异或门e以及异或门h的输出端分别为输出引脚o3、o4、o5以及o8。

如上的,其中,输入引脚i7与异或门f的输入端连接,异或门f的输出端为输出引脚o6;输入引脚i7与异或门4的输入端连接,异或门4的输出端与异或门6的输入端连接,异或门6的输出端与异或门c、异或门d、异或门e以及异或门h的输入端连接,异或门c、异或门d、异或门e以及异或门h的输出端分别为输出引脚o3、o4、o5以及o8。

如上的,其中,输入引脚i8与异或门d的输入端连接,异或门d的输出端为输出引脚o4;输入引脚i8与异或门3的输入端连接,异或门3的输出端与异或门5的输入端连接,异或门5的输出端与异或门a、异或门b、异或门f以及异或门g的输入端连接,异或门a、异或门b、异或门f以及异或门g的输出端分别为输出引脚o1、o2、o6以及o7。

一种编解码电路,包括若干个上述的基本编解码单元和若干个触发器,触发器的数量与基本编解码单元的输出引脚数量相同;每个输出引脚与相应的触发器的d端连接。

本申请实施例的有益效果如下:

(1)本申请提供的基本编解码单元以及编解码器中的基本编解码单元能够使得编码和解码都能使用同一个电路,降低了电路设计的复杂性和制造成本。

(2)本申请提供的基本编解码单元以及编解码器能够在数字通信时,若发生位翻转时能够不改变数据的奇偶性,从而接收方可直接对编码后的数据进行奇偶校验,并在校验失败时直接丢弃数据,从而可避免对已发生位翻转的无效数据进行解码而浪费计算资源。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的逻辑电路的结构图;

图2为本申请实施例提供的一个字节编解码器的电路连接结构图;

图3为本申请实施例的两个字节编解码器的连接结构图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请实施例提供的一种基本编解码单元,该基本编解码单元包括两个独立并且相同的逻辑电路,两个逻辑电路分别用于编码和解码。

具体地,同一个设备中可以包括两个逻辑电路,两个逻辑电路分别构成一个编码器和解码器,所述编码器用于将编码后的数据发送给其他设备的解码器,所述解码器用于接收其他设备发送来的编码数据进行解码。其中编码器和解码器的内部结构连接图见下文所述。

如图1所示,逻辑电路包括若干个异或门,8个输入引脚以及8个输出引脚。

示例性地,将8个输入引脚标记为i1、i2、i3、i4、i5、i6、i7、i8,将8个输出引脚标记为o1、o2、o3、o4、o5、o6、o7、o8。

具体地,每个异或门具有两个输入引脚和一个输出引脚,每一个输入引脚通过不同的异或门连接到5个输出引脚上,具体连接关系见下文所述。

定义每个异或门的输入引脚由上到下分别为第一和第二引脚,定义图中左边的四个异或门为异或门1、异或门2、异或门3和异或门4,定义中间的两个异或门为异或门5和异或门6,定义右边的8个异或门为异或门a、异或门b、异或门c、异或门d、异或门e、异或门f、异或门g以及异或门h。

如图1所示,输入引脚i1分别与异或门b的第一输入引脚以及异或门1的第一输入引脚连接,异或门1的输出引脚与异或门6的第一输入引脚连接,异或门6的输出引脚分别与异或门c、d的第一输入引脚连接,与异或门e、h的第二输入引脚连接,也就是输入引脚i1与输出引脚o2、o3、o4、o5以及o8关联。

输入引脚i2分别与异或门a的第一输出引脚以及异或门1的第二输入引脚连接,异或门1的输出引脚与异或门6的第一输入引脚连接,异或门6的输出引脚分别与异或门c、d的第一输入引脚连接,与异或门e、h的第二输入引脚连接,也就是输入引脚i2与输出引脚o1、o3、o4、o5以及o8关联。

输入引脚i3分别与异或门e的第一输入引脚以及异或门2的第一输入引脚连接,异或门2的输出引脚与异或门5的第一输入引脚连接,异或门5的输出引脚分别与异或门a和异或门b的第二输出引脚连接、与异或门f和异或门g的第一输出引脚连接,也就是,输入引脚i3与输出引脚o5、o1、o2、o6以及o7关联。

输入引脚i4分别与异或门h的第一输入引脚以及异或门2的第二输入引脚连接,异或门2的输出引脚与异或门5的第一输入引脚连接,异或门5的输出引脚分别与异或门a和异或门b的第二输出引脚连接、与异或门f和异或门g的第一输出引脚连接,也就是,输入引脚i4与输出引脚o8、o1、o2、o6以及o7关联。

输入引脚i5分别与异或门c的第二输入引脚以及异或门3的第一输入引脚连接,异或门3的输出引脚与异或门5的第二输入引脚连接,异或门5的输出引脚分别与异或门a和异或门b的第二输出引脚连接、与异或门f和异或门g的第一输出引脚连接,也就是,输入引脚i5与输出引脚o3、o1、o2、o6以及o7关联。

输入引脚i6分别与异或门g的第二输入引脚以及异或门4的第一输入引脚连接,异或门4的输出引脚与异或门6的第二输入引脚连接,异或门6的输出引脚分别与异或门c、d的第一输入引脚连接,与异或门e、h的第二输入引脚连接,也就是,输入引脚i6与输出引脚o7、o3、o4、o5以及o8关联。

输入引脚i7分别与异或门f的第二输入引脚以及异或门4的第二输入引脚连接,异或门4的输出引脚与异或门6的第二输入引脚连接,异或门6的输出引脚分别与异或门c、d的第一输入引脚连接,与异或门e、h的第二输入引脚连接。也就是,输入引脚i7与输出引脚o6、o3、o4、o5以及o8关联。

输入引脚i8分别与异或门d的第二输入引脚以及异或门3的第二输入引脚连接,异或门3的输出引脚与异或门5的第二输入引脚连接,异或门5输出引脚分别与异或门a和异或门b的第二输出引脚连接、与异或门f和异或门g的第一输出引脚连接。也就是,输入引脚i8与输出引脚o4、o1、o2、o6以及o7关联。

综上所述,以上为本实施例提供的基本编解码单元的内部结构电路图,8个输入引脚i1-i8能够分别与异或门a-h中的5个异或门关联,实现每一个输入引脚通过异或门关联到5个输出引脚上,当任意一个输入位发生翻转时,会导致5个输出位发生翻转,一方面,相当于对解码后错误的数据进行了放大,使得应用时更容易检测出错误,另一方面,未改变数据的奇偶性。同理,每一个输出引脚都与五个输入引脚关联。具体地,o1与i2、i3、i4、i5以及i8关联,o2与i1、i3、i4、i5以及i8关联,o3与i1、i2、i5、i6以及i7关联,o4与i1、i2、i6、i7以及i8关联,o5与i1、i2、i3、i6以及i7关联,o6与i3、i4、i5、i7以及i8关联,o7与i3、i4、i5、i6以及i8关联,o8与i1、i2、i4、i6以及i7关联。

编码时,原始数据从输入引脚输入逻辑电路,编码后的数据从输出引脚输出,每一个输出引脚都对应一个逻辑表达式。具体地,由上述描述可以得出,o1=i2^i3^i4^i5^i8;o2=i1^i3^i4^i5^i8;o3=i2^i1^i5^i6^i7;o4=i1^i2^i6^i7^i8;o5=i1^i2^i3^i6^i7;o6=i3^i4^i5^i7^i8;o7=i3^i4^i5^i6^i8;o8=i1^i2^i4^i6^i7。

作为一个例子,若原始编码数据i1-i7是11110000,则根据上述逻辑表达式算出编码后的数据为11001001。

解码时,原始数据从输入引脚输入逻辑电路,解码后的数据从输出引脚输出。令解码时的输入引脚定义为o1-o7,输出引脚定义为x1-x7,则解码时的逻辑表达式为:x1=o2^o3^o4^o5^o8,x2=o1^o3^o4^o5^o8,x3=o1^o2^o5^o6^o7,x4=o1^o2^o6^o7^o8,x5=o1^o2^o3^o6^o7,x6=o7^o3^o4^o5^o8,x7=o3^o4^o5^o6^o8,x8=o1^o2^o4^o6^o7。

在上述的例子中,解码时,原始数据为11001001,则能够根据公式算出x1=1,x2=1;x3=1;x4=1,x5=0;x6=0;x7=0;x8=0;因此,解码后的数据为11110000,与编码前的数据相同,由此,使用同一种逻辑电路便能达到编码和解码相同的效果。

示例性地,若原始数据为11110000,其中有偶数个“1”和偶数个“0”,则经过基本编解码单元后,编码后的数据为11001001。

如果第一位发生翻转时变为“0”,原始数据变为01110000,由于第一位与输入引脚i1连接,i1与输出引脚o2、o3、o4、o5以及o8关联,则编码后数据的第二、三、四、五和八位均发生翻转,因此,编码后的数据变为10110000。

上述例子中,发生翻转前的原始数据与编码后的数据都有偶数个1;发生翻转后,原始数据中有奇数个“1”,编码后的数据也同样有奇数个“1”。因此,本申请的逻辑电路未改变数据的奇偶性,有利于进行数据的奇偶校验;并且,原始数据中的一位发生翻转会导致编码后数据中的五位发生翻转,使得接收方在解码前更容易检查出数据的错误。

如图2所示,为本实施例提供的一个字节编解码器的电路连接结构图,其中,待编码数据data的第7-0位分别连接到基本编解码单元的i1-i8输入引脚,将基本编解码单元的o1-o8输出引脚分别连接到8个d触发器的d端,将时钟信号分别与8个d触发器的时钟端连接,在8个d触发器的q端输出即可获得输出编码后的数据encdata的第0-7位,完成编码。

作为另一个实施例,编码数据data的第7-0位可以打乱顺序连接到基本编解码单元的i1-i8输入引脚,可以根据本领域技术人员的相应需求做出连接顺序的调整。

示例性地,若编码数据data按照0、1、2、3、5、4、7、6、8位的顺序输入,那么输出编码后的数据encdata也按照0、1、2、3、5、4、7、6、8位的顺序输出。

具体地,本实施例的编码和解码电路都为相同的电路,编码数据端完成的编码数据可以通过无线通信传输到解码数据端,解码数据端使用相同的电路进行解码,即将待解码数据data第7-0位分别连接到基本编解码单元的i1-i8输入引脚,将基本编解码单元的o1-o8输出引脚分别连接到8个d触发器的d端,将时钟信号分别与8个d触发器的时钟端连接,在8个d触发器的q端输出即可获得输出解码后的数据encdata的第0-7位,完成解码。

具体地,每个编解码单元完成一个8位二进制数据的编码和解码,若要编解码的数据为16位二进制数据,那么就需要2个基本编解码单元进行拼接,若要编解码的数据为32位二进制数据,则需要4个基本编解码单元进行拼接,以此类推。

如图3所示,为本申请提供的两个字节编码器的连接结构示意图,其中,包括两个基本编解码单元,两个编解码单元为独立存在,二者之间没有电路连接关系。

综上所述,本申请还提供一种多字节的编码电路,其中包括若干个基本编解码单元,基本编解码单元的数量根据实际情况进行设置。

本申请实施例的有益效果如下:

(1)本申请提供的基本编解码单元以及编解码器中的基本编解码单元能够使得编码和解码都能使用同一个电路,降低了电路设计的复杂性和制造成本。

(2)本申请提供的基本编解码单元以及编解码器能够在数字通信时,若发生位翻转时能够不改变数据的奇偶性,从而接收方可直接对编码后的数据进行奇偶校验,并在校验失败时直接丢弃数据,从而可避免对已发生位翻转的无效数据进行解码而浪费计算资源。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1