本发明实施例涉及通信技术领域,尤其涉及一种fm0编码的解码方法、装置、设备及可读存储介质。
背景技术:
电子不停车收费系统(electronictollcollection,etc)采用专用短程通讯技术,在车载单元(obu)和路侧单元(rsu)之前建立无线通讯链路,在车辆行驶过程中通过无线方式进行身份识别认证和消费扣款,实现不停车收费,大大提高了收费站口通行能力。
目前全国各地都在大力推广etc,为了实现etc设备的互联互通,rsu和obu设备都必须满足《gb/t20851.2-2007电子收费专用短程通信》和交通运输部2011年第13号公告《收费公路联网电子不停车收费技术要求》,简称etc标准。etc标准中明确规定了通讯的编码方式为fm0,上行链路的位速率为512kbps,位时钟精度为±100*10-6,下行链路的位速率为256kbps,位时钟精度为±100*10-5。
fm0(即bi-phasespacecoding)编码的全称为双相间空号编码,工作原理是在一个位窗内采用电平变化来表示逻辑。如果电平从位窗的起始处翻转,则表示逻辑‘1’。如果电平除了在位窗的起始处翻转,还在位窗中间翻转则表示逻辑‘0’。
目前常见的对fm0编码进行解码的方法是:采集脉冲的脉宽,将脉冲脉宽与固定阈值进行比较,例如,当脉宽小于或等于两个连续的半个‘0’对应的时长时,直接确定解码数据为一个0;当脉宽大于或等于两个连续的‘1’对应的时长时,直接确定解码数据为两个1;但是,当脉宽既不小于或等于两个连续的半个‘0’对应的时长,要不大于或等于两个连续的‘1’对应的时长时,无法根据脉宽直接确定解码数据,而根据脉宽在固定的阈值空间中出现的次数确定解码数据,解码准确性差。
技术实现要素:
本发明实施例提供一种fm0编码的解码方法、装置、设备及可读存储介质,用以解决现有技术中在无法根据脉宽直接确定解码数据的情况下,根据脉宽在固定的阈值空间中出现的次数确定解码数据,解码准确性差的问题。
本发明实施例的一个方面是提供一种fm0编码的解码方法,包括:
依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;
确定所述目标脉冲的脉宽是否在第一阈值或者第二阈值的误差范围内;
若所述目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,则根据所述目标脉冲及其相邻脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;
将综合概率值大的值作为所述目标脉冲对应比特位的值。
本发明实施例的另一个方面是提供一种fm0编码的解码装置,包括:
获取模块,用于依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;
解码模块,用于确定所述目标脉冲的脉宽是否在第一阈值或者第二阈值的误差范围内;
所述解码模块还用于若所述目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,则根据所述目标脉冲及其相邻脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;
所述解码模块还用于将综合概率值大的值作为所述目标脉冲对应比特位的值。
本发明实施例的另一个方面是提供一种fm0编码的解码设备,包括:
存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,
所述处理器运行所述计算机程序时实现上述所述的方法。
本发明实施例的另一个方面是提供一种计算机可读存储介质,存储有计算机程序,
所述计算机程序被处理器执行时实现上述所述的方法。
本发明实施例提供的fm0编码的解码方法、装置、设备及可读存储介质,通过依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;若所述目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,此时,根据目标脉冲的脉宽无法准确地确定目标脉冲对应比特位的值,那么综合目标脉冲及其相邻若干个脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;将综合概率值大的值作为所述目标脉冲对应比特位的值,提高了fm0编码的解码准确率。
附图说明
图1为本发明实施例一提供的fm0编码的解码方法流程图;
图2为本发明实施例二提供的fm0编码的解码方法流程图;
图3为本发明实施例二提供的概率表的示意图;
图4为本发明实施例二提供的fm0编码数据的示意图;
图5为本发明实施例二提供的另一fm0编码数据的示意图;
图6为本发明实施例三提供的fm0编码的解码装置的结构示意图;
图7为本发明实施例五提供的fm0编码的解码设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明实施例构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明实施例的一些方面相一致的装置和方法的例子。
首先对本发明实施例所涉及的名词进行解释:
脉冲的脉宽:是指脉冲周期的时长。目前,通过定时器计数的方式采集fm0编码数据中每个脉冲周期的时长,具体包括:每一个跳变沿即采集一次定时器的计数值,保存到对应的寄存器;然后将当前计数值减去上一个计数值,即可获得当前周期的时长。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
图1为本发明实施例一提供的fm0编码的解码方法流程图。本发明实施例针对现有技术中根据脉宽在固定的阈值空间中出现的次数确定解码数据,解码准确性差的问题,提供了fm0编码的解码方法。如图1所示,该方法具体步骤如下:
步骤s101、依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽。
在对fm0编码进行解码的过程中,通过定时器输入捕获采集fm0编码数据的波形获得待解码数据,只有采集到fm0编码数据的波形的发生跳变沿时,才获得待解码数据,并将解码数据存储到缓存中。
步骤s102、确定目标脉冲的脉宽是否在第一阈值或者第二阈值的误差范围内。
fm0上行链路的位速率为512kbps,采样时钟为10.24m,所以理想情况下,当一个脉冲对应比特位的值元为‘1’时,该单脉冲的脉宽为“20”;当一个脉冲对应比特位的值为‘0’时,该单脉冲脉宽为“10”;相邻的两个脉冲对应比特位的值为‘11’时,该双脉冲脉宽为“40”,相邻的两个脉冲对应比特位的值为‘10’或者‘01’时,该双脉冲脉宽为“30”,相邻两个脉冲对应比特位的值为‘00’时,该双脉冲脉宽为“20”;当相邻三个脉冲对应比特位的值:全为‘1’时,该三脉冲脉宽为“60”;有两个‘1’时,该三脉冲脉宽为“50”,有两个‘0’时,该三脉冲脉宽为“40”,全为‘0’时,该三脉冲脉宽为“30”。
在实际情况下,脉宽不可能每次都是10的整数倍,多少会有些误差,本实施例中预设误差表示预先设定的可接受的误差。
预设误差的值可以由技术人员根据实际经验进行设定,例如预设误差可以为2,本实施例此处不做具体限定。
本实施例中,第一阈值为对应比特位的值元为‘1’的单脉冲脉宽,第一阈值的误差范围可以是[第一阈值-预设误差,第一阈值 预设误差]。
例如,第一阈值为20,预设误差为2,则第一阈值的误差范围为[18,22];第二阈值为10,预设误差为2,则第二阈值的误差范围为[8,12]。
该步骤中,确定目标脉冲的脉宽是否在第一阈值或者第二阈值的误差范围内;若目标脉冲的脉宽在第一阈值的误差范围内,则可以直接确定目标脉冲对应比特位的值为‘1’;若目标脉冲的脉宽在第二阈值的误差范围内,则确定目标脉冲对应比特位的值为‘0’。
若确定目标脉冲的脉宽既不在第一阈值的误差范围内,也不在第二阈值的误差范围内,那么无法根据该目标脉冲的脉宽直接确定该目标脉冲对应比特位的值,执行步骤s103-s104。
步骤s103、若目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,则根据目标脉冲及其相邻脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值。
本实施例中,若确定目标脉冲的脉宽既不在第一阈值的误差范围内,也不在第二阈值的误差范围内,在无法根据该目标脉冲的脉宽直接确定该目标脉冲对应比特位的值的情况下,通过获取目标脉冲的相邻的若干个脉冲的脉宽,综合计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率。
例如,可以根据目标脉冲的相邻两个脉冲的脉宽,综合计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率;或者,可以根据目标脉冲的相邻四个脉冲(也即是目标脉冲之前的两个脉冲和之后的两个脉冲)的脉宽,综合计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率;本实施例对于计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值时所依据的目标脉冲的相邻脉冲的个数不做具体限定。
步骤s104、将综合概率值大的值作为目标脉冲对应比特位的值。
在计算得到目标脉冲对应比特位的值为‘1’和‘0’的综合概率值之后,比较目标脉冲对应比特位的值为‘1’的综合概率值与目标脉冲对应比特位的值为‘0’的综合概率值的大小。
根据比较结果,若目标脉冲对应比特位的值为‘1’的综合概率值大于为‘0’的综合概率值的大小,则确定目标脉冲对应比特位的值为‘1’。
根据比较结果,若目标脉冲对应比特位的值为‘1’的综合概率值小于为‘0’的综合概率值的大小,则确定目标脉冲对应比特位的值为‘0’。
本发明实施例通过依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;若目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,此时,根据目标脉冲的脉宽无法准确地确定目标脉冲对应比特位的值,那么综合目标脉冲及其相邻若干个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;将综合概率值大的值作为目标脉冲对应比特位的值,提高了fm0编码的解码准确率。
实施例二
图2为本发明实施例二提供的fm0编码的解码方法流程图。在上述实施例一的基础上,本实施例中,以综合目标脉冲及其相邻4个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值为例,对fm0编码的解码方法的一种可行的实施方式进行详细说明。如图2所示,该方法具体步骤如下:
步骤s201、依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽。
在对fm0编码进行解码的过程中,通过定时器输入捕获采集fm0编码数据的波形获得待解码数据,只有采集到fm0编码数据的波形的发生跳变沿时,才获得待解码数据,并将解码数据存储到缓存中。
步骤s202、判断目标脉冲的脉宽是否在第一阈值的误差范围内。
fm0上行链路的位速率为512kbps,采样时钟为10.24m,所以理想情况下,当一个脉冲对应比特位的值元为‘1’时,该单脉冲脉宽为“20”;当一个脉冲对应比特位的值为‘0’时,该单脉冲脉宽为“10”;相邻的两个脉冲对应比特位的值为‘11’时,该双脉冲脉宽(也即是相邻两个脉冲的脉宽之和)为“40”,相邻的两个脉冲对应比特位的值为‘10’或者‘01’时,该双脉冲脉宽为“30”,相邻两个脉冲对应比特位的值为‘00’时,该双脉冲脉宽为“20”;当相邻三个脉冲对应比特位的值:全为‘1’时,该三脉冲脉宽(也即是相邻三个脉冲的脉宽之和)为“60”;有两个‘1’时,该三脉冲脉宽为“50”,有两个‘0’时,该三脉冲脉宽为“40”,全为‘0’时,该三脉冲脉宽为“30”。
在实际情况下,脉宽不可能每次都是10的整数倍,多少会有些误差,本实施例中预设误差表示预先设定的可接受的误差。
预设误差的值可以由技术人员根据实际经验进行设定,例如预设误差可以为2,本实施例此处不做具体限定。
本实施例中,第一阈值为对应比特位的值元为‘1’的单脉冲脉宽,第一阈值的误差范围可以是[第一阈值-预设误差,第一阈值 预设误差]。
例如,第一阈值为20,预设误差为2,则第一阈值的误差范围为[18,22]。
该步骤中,若目标脉冲的脉宽在第一阈值的误差范围内,则执行步骤s203;若目标脉冲的脉宽不在第一阈值的误差范围内,则执行步骤s204。
步骤s203、若确定目标脉冲的脉宽在第一阈值的误差范围内,则可以直接确定目标脉冲对应比特位的值为‘1’。
若确定目标脉冲的脉宽在第一阈值的误差范围内,则可以肯定目标脉冲对应比特位的值为‘1’。
步骤s204、判断目标脉冲的脉宽是否在第二阈值的误差范围内。
本实施例中,第二阈值为对应比特位的值元为‘0’的单脉冲脉宽,第二阈值的误差范围可以是[第二阈值-预设误差,第二阈值 预设误差]。
例如,第二阈值为10,预设误差为2,则第二阈值的误差范围为[8,12]。
该步骤中,若确定目标脉冲的脉宽在第二阈值的误差范围内,则执行步骤s205;若确定目标脉冲的脉宽不在第二阈值的误差范围内,则执行步骤s206。
步骤s205、若确定目标脉冲的脉宽在第二阈值的误差范围内,确定目标脉冲对应比特位的值为‘0’。
若确定目标脉冲的脉宽在第二阈值的误差范围内,则可以肯定目标脉冲对应比特位的值为‘0’。
步骤s206、根据目标脉冲及其相邻脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值。
若确定目标脉冲的脉宽既不在第一阈值的误差范围内,也不在第二阈值的误差范围内,在无法根据该目标脉冲的脉宽直接确定该目标脉冲对应比特位的值的情况下,通过获取目标脉冲的相邻的若干个脉冲的脉宽,综合计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率。
例如,可以根据目标脉冲的相邻两个脉冲的脉宽,综合计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率;或者,可以根据目标脉冲的相邻四个脉冲(也即是目标脉冲之前的两个脉冲和之后的两个脉冲)的脉宽,综合计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率;本实施例对于计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值时所依据的目标脉冲的相邻脉冲的个数不做具体限定。
本实施例中,该步骤具体可以采用如下方式实现:
根据目标脉冲及其前一脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第一概率和目标脉冲对应比特位的值为‘0’的第二概率;根据目标脉冲及其后一脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第三概率和目标脉冲对应比特位的值为‘0’的第四概率;根据目标脉冲及其前两个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第五概率和目标脉冲对应比特位的值为‘0’的第六概率;根据目标脉冲及与目标脉冲相邻的两个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第七概率和目标脉冲对应比特位的值为‘0’的第八概率;根据目标脉冲及其后两个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第九概率和目标脉冲对应比特位的值为‘0’的第十概率;对第一概率,第三概率和第五概率按照预设运算规则进行运算,得到目标脉冲对应比特位的值为‘1’的综合概率值;对第二概率,第四概率和第六概率按照预设运算规则进行运算,得到目标脉冲对应比特位的值为‘0’的综合概率值。
其中,预设运算规则可以是求和或者求平均等等,预设运算规则可以由技术人员根据经验进行设定,本实施例此处不做具体限定。
可选的,若根据目标脉冲的脉宽无法确定目标脉冲对应比特位的值时,可以认为根据目标脉冲的脉宽可以确定的目标脉冲对应比特位的值为‘1’和‘0’的概率分别为50%。在计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值时,也可以将根据目标脉冲的脉宽可以确定的目标脉冲对应比特位的值为‘1’和‘0’的概率,结合第一概率,第二概率,第三概率,第四概率,第五概率和第六概率,根据预设运算规则运算得到目标脉冲对应比特位的值为‘1’和‘0’的综合概率值。
本本实施例的另一实施方式中,根据目标脉冲及其相邻脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值,还可以采用如下方式实现:
根据目标脉冲及其前一脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第一概率和目标脉冲对应比特位的值为‘0’的第二概率;
根据目标脉冲及其后一脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第三概率和目标脉冲对应比特位的值为‘0’的第四概率;
对第一概率和第三概率按照预设运算规则进行运算,得到目标脉冲对应比特位的值为‘1’的综合概率值;
对第二概率和第四概率按照预设运算规则进行运算,得到目标脉冲对应比特位的值为‘0’的综合概率值。
步骤s207、比较目标脉冲对应比特位的值为‘1’综合概率值与目标脉冲对应比特位的值为‘0’综合概率值的大小。
在计算得到目标脉冲对应比特位的值为‘1’和‘0’的综合概率值之后,比较目标脉冲对应比特位的值为‘1’的综合概率值与目标脉冲对应比特位的值为‘0’的综合概率值的大小。
步骤s208、若目标脉冲对应比特位的值为‘1’的综合概率值大于为‘0’的综合概率值的大小,则确定目标脉冲对应比特位的值为‘1’。
步骤s209、若目标脉冲对应比特位的值为‘1’的综合概率值小于为‘0’的综合概率值的大小,则确定目标脉冲对应比特位的值为‘0’。
例如,fm0上行链路的位速率为512kbps,采样时钟为10.24m,所以理想情况下,当一个脉冲对应比特位的值元为‘1’时,该单脉冲脉宽为“20”;当一个脉冲对应比特位的值为‘0’时,该单脉冲脉宽为“10”;相邻的两个脉冲对应比特位的值为‘11’时,该双脉冲脉宽(也即是相邻两个脉冲的脉宽之和)为“40”,相邻的两个脉冲对应比特位的值为‘10’或者‘01’时,该双脉冲脉宽为“30”,相邻两个脉冲对应比特位的值为‘00’时,该双脉冲脉宽为“20”;当相邻三个脉冲对应比特位的值:全为‘1’时,该三脉冲脉宽(也即是相邻三个脉冲的脉宽之和)为“60”;有两个‘1’时,该三脉冲脉宽为“50”,有两个‘0’时,该三脉冲脉宽为“40”,全为‘0’时,该三脉冲脉宽为“30”。
以预设误差为2为例,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值的过程中,单脉冲脉宽值与单脉冲对应比特位的值为的概率,双脉冲脉宽值与两个脉冲对应比特位的值的概率,以及三脉冲脉宽值与三个脉冲对应比特位的值的概率如图3所示。
如图3中的单脉冲,第一阈值的误差范围为[22,18],第二阈值误差的范围为[12,8];若单脉冲脉宽在[22,18]内,则该单脉冲对应比特位的值确定为‘1’;若单脉冲脉宽在[12,8]内,则该单脉冲对应比特位的值确定为‘0’。若单脉冲的脉宽在[17,13]内时,该单脉冲对应比特位的值只能是‘0’或‘1’,且单脉冲对应比特位的值是‘0’或‘1’的概率均是独立的,则单脉冲对应比特位的值是‘0’或‘1’的概率各为50%。
如图3中的后双脉冲,也即是目标脉冲及其后一个脉冲:相邻的两个脉冲对应比特位的值为‘11’时,该双脉冲脉宽(也即是相邻两个脉冲的脉宽之和)为“40”,相邻的两个脉冲对应比特位的值为‘10’或者‘01’时,该双脉冲脉宽为“30”,相邻两个脉冲对应比特位的值为‘00’时,该双脉冲脉宽为“20”。
由于预设误差为2,当后双脉冲的脉宽在[42,38]内时,在“40”的误差范围内,可以确定这两个脉冲对应比特位的值为‘11’,因此目标脉冲及其后一个脉冲对应比特位的值为‘1’。
当后双脉冲的脉宽在[32,28]内时,在“30”的误差范围内,这两个脉冲对应比特位的值为‘10’或‘01’,由于后一个脉冲对应比特位的值未知,因此,目标脉冲对应比特位的值为‘1’和‘0’的概率均为50%。
当后双脉冲的脉宽在[22,18]内时,在“20”的误差范围内,可以确定这两个脉冲对应比特位的值为‘00’,因此目标脉冲及其后一个脉冲对应比特位的值为‘0’。
当后双脉冲的脉宽在[37,33]内时,在[42,38]和[32,28]之间,可这两个脉冲对应比特位的值可能为‘11’或‘10’,又或者,‘11’或‘01’的两种概率组合;无论是这两种中的哪一种,目标脉冲对应比特位的值为‘1’和‘0’的概率分别是75%,25%。
同理,可以得出如图3的概率表中的数据。
具体的,基于图3所示的数据,下面以图4中的fm0编码数据为例,对根据目标脉冲及其相邻四个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值进行说明:
如图4所示,用s1,s2,s3,s4和s5分别表示编码数据中的五个单脉冲的脉宽,每个单脉冲的带宽分别为:s1=8,s2=12,s3=17,s4=13,s5=10;预设误差为2,第一阈值为20,第二阈值为10。
将第一个脉冲作为目标脉冲:s1=8,在[8,12]内,可以确定当前的目标脉冲的脉宽在可以确定第一个脉冲对应比特位的值为‘0’。
将第二个脉冲作为目标脉冲:s2=12,在[8,12]内,可以确定当前的目标脉冲对应比特位的值为‘0’。
将第三个脉冲作为目标脉冲:s3=17,不在[8,12]内,通过目标脉冲的脉宽无法确定目标脉冲对应比特位的值是‘1’还是‘0’,此时,可以计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值:
通过目标脉冲的单脉冲脉宽确定的目标脉冲对应比特位的值是‘1’和‘0’的概率值分别为50%。
目标脉冲(第三个脉冲s3)的前双脉冲(目标脉冲及其前一脉冲)的脉宽d前=s2 s3=29,由于第二个脉冲已经确定为‘0’,根据图3所示的概率表,可以得出目标脉冲对应比特位的值是‘1’和‘0’的概率分别为100%和0%。
目标脉冲(第三个脉冲s3)的后双脉冲(目标脉冲及其后一脉冲)的脉宽d后=s3 s4=30,说明s3和s4对应比特位中一个是‘1’一个是‘0’,因为s4的比特位目前还未开始判断,不知道是‘1’还是‘0’,目标脉冲对应比特位的值是‘1’和‘0’的概率均为50%(如图3中所示)。
目标脉冲(第三个脉冲s3)的前三脉冲(目标脉冲的前两个脉冲及目标脉冲)的脉宽t前=s1 s2 s3=37,并且目标脉冲的前两个脉冲对应比特位的值为‘00’,根据图3所示的概率表,可以得出目标脉冲对应比特位的值是‘1’和‘0’的概率均为100%和0%。
目标脉冲(第三个脉冲s3)的中三脉冲(包括目标脉冲的前一脉冲,目标脉冲及其后一脉冲)的脉宽t中=s2 s3 s4=42,由于目标脉冲的前一脉冲(第二个脉冲s2)对应比特位的值是‘0’,根据图3所示的概率表,可以得出目标脉冲对应比特位的值是‘1’和‘0’的概率均为50%和50%。
目标脉冲(第三个脉冲s3)的后三脉冲(包括目标脉冲及其后两个脉冲)的脉宽t后=s3 s4 s5=40,说明s3、s4、s5中肯定有一个‘1’,两个‘0’,可以得出目标脉冲对应比特位的值是‘1’和‘0’的概率均为33%和67%(如图3所示)。
综上,对当前目标脉冲(第三个脉冲s3),通过上述6次概率进行求和运算,可以得到目标脉冲(第三个脉冲s3)对应比特位的值是‘1’的综合概率值为:50% 100% 50% 50% 50% 33%=3.33,目标脉冲(第三个脉冲s3)对应比特位的值是‘0’的综合概率值为:50% 0% 50% 50% 50% 67%=2.67,显然2.67<3.33,也即是目标脉冲(第三个脉冲s3)对应比特位的值是‘0’的综合概率值小于目标脉冲(第三个脉冲s3)对应比特位的值是‘1’的综合概率值,因此,可以确定目标脉冲(第三个脉冲s3)对应比特位的值是‘1’。
当前目标脉冲(第三个脉冲s3)对应比特位的值确定以后,开始下一位脉冲的解码,将第四个脉冲作为新的目标脉冲,同理,可知第四个脉冲s4和第四个脉冲s5对应比特位的值均为‘0’。
以图5中的fm0编码数据为例,如图5所示,每个单脉冲的带宽分别为:s1=22,s2=18,s3=14,s4=12,s5=10;预设误差为2;与对图4所示的编码数据进行解密的方法类似,基于图3所示的数据,可计算出第三个脉冲对应比特位的值为‘1’和‘0’的综合概率值分别为1.75和4.25,可以确定第三个脉冲对应比特位的值为‘0’;最终可以得到第一个脉冲至第五个脉冲对应比特位的值分别为‘1’,‘1’,‘0’,‘0’,‘0’。
本发明实施例通过依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;若目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,此时,根据目标脉冲的脉宽无法准确地确定目标脉冲对应比特位的值,那么综合目标脉冲及其相邻若干个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;将综合概率值大的值作为目标脉冲对应比特位的值,提高了fm0编码的解码准确率。
实施例三
图6为本发明实施例三提供的fm0编码的解码装置的结构示意图。本发明实施例提供的fm0编码的解码装置可以执行fm0编码的解码方法实施例提供的处理流程。如图6所示,该fm0编码的解码装置30包括:获取模块301和解码模块302。
具体地,获取模块301用于依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽。
解码模块302用于确定目标脉冲的脉宽是否在第一阈值或者第二阈值的误差范围内。
解码模块302还用于若目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,则根据目标脉冲及其相邻脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值。
解码模块302还用于将综合概率值大的值作为目标脉冲对应比特位的值。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;若目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,此时,根据目标脉冲的脉宽无法准确地确定目标脉冲对应比特位的值,那么综合目标脉冲及其相邻若干个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;将综合概率值大的值作为目标脉冲对应比特位的值,提高了fm0编码的解码准确率。
实施例四
在上述实施例三的基础上,本实施例中,解码模块还用于:
若目标脉冲的脉宽在第一阈值的误差范围内,则确定目标脉冲对应比特位的值为‘1’。
解码模块还用于:
若目标脉冲的脉宽在第二阈值的误差范围内,则确定目标脉冲对应比特位的值为‘0’。
可选的,解码模块还用于:
根据目标脉冲及其前一脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第一概率和目标脉冲对应比特位的值为‘0’的第二概率;根据目标脉冲及其后一脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第三概率和目标脉冲对应比特位的值为‘0’的第四概率;对第一概率和第三概率按照预设运算规则进行运算,得到目标脉冲对应比特位的值为‘1’的综合概率值;对第二概率和第四概率按照预设运算规则进行运算,得到目标脉冲对应比特位的值为‘0’的综合概率值。
可选的,解码模块还用于:
根据目标脉冲及其前一脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第一概率和目标脉冲对应比特位的值为‘0’的第二概率;根据目标脉冲及其后一脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第三概率和目标脉冲对应比特位的值为‘0’的第四概率;根据目标脉冲及其前两个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第五概率和目标脉冲对应比特位的值为‘0’的第六概率;根据目标脉冲及与目标脉冲相邻的两个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第七概率和目标脉冲对应比特位的值为‘0’的第八概率;根据目标脉冲及其后两个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’的第九概率和目标脉冲对应比特位的值为‘0’的第十概率;对第一概率,第三概率和第五概率按照预设运算规则进行运算,得到目标脉冲对应比特位的值为‘1’的综合概率值;对第二概率,第四概率和第六概率按照预设运算规则进行运算,得到目标脉冲对应比特位的值为‘0’的综合概率值。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;若目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,此时,根据目标脉冲的脉宽无法准确地确定目标脉冲对应比特位的值,那么综合目标脉冲及其相邻若干个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;将综合概率值大的值作为目标脉冲对应比特位的值,提高了fm0编码的解码准确率。
实施例五
图7为本发明实施例五提供的fm0编码的解码设备的结构示意图。如图7所示,该fm0编码的解码设备50包括:处理器501,存储器502,以及存储在存储器502上并可由处理器501执行的计算机程序。
处理器501在执行存储在存储器502上的计算机程序时实现上述任一方法实施例提供的fm0编码的解码方法。
本发明实施例通过依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;若目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,此时,根据目标脉冲的脉宽无法准确地确定目标脉冲对应比特位的值,那么综合目标脉冲及其相邻若干个脉冲的脉宽,计算目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;将综合概率值大的值作为目标脉冲对应比特位的值,提高了fm0编码的解码准确率。
另外,本发明实施例还提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例提供的fm0编码的解码方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
1.一种fm0编码的解码方法,其特征在于,包括:
依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;
确定所述目标脉冲的脉宽是否在第一阈值或者第二阈值的误差范围内;
若所述目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,则根据所述目标脉冲及其相邻脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;
将综合概率值大的值作为所述目标脉冲对应比特位的值。
2.根据权利要求1所述的方法,其特征在于,确定所述目标脉冲的脉宽是否在第一阈值或者第二阈值的误差范围内之后,还包括:
若所述目标脉冲的脉宽在所述第一阈值的误差范围内,则确定所述目标脉冲对应比特位的值为‘1’。
3.根据权利要求1所述的方法,其特征在于,确定所述目标脉冲的脉宽是否在第一阈值或者第二阈值的误差范围内之后,还包括:
若所述目标脉冲的脉宽在所述第二阈值的误差范围内,则确定所述目标脉冲对应比特位的值为‘0’。
4.根据权利要求1所述的方法,其特征在于,根据所述目标脉冲及其相邻脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’和‘0’的综合概率值,包括:
根据所述目标脉冲及其前一脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第一概率和所述目标脉冲对应比特位的值为‘0’的第二概率;
根据所述目标脉冲及其后一脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第三概率和所述目标脉冲对应比特位的值为‘0’的第四概率;
对所述第一概率和第三概率按照预设运算规则进行运算,得到所述目标脉冲对应比特位的值为‘1’的综合概率值;
对所述第二概率和第四概率按照所述预设运算规则进行运算,得到所述目标脉冲对应比特位的值为‘0’的综合概率值。
5.根据权利要求1所述的方法,其特征在于,根据所述目标脉冲及其相邻脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’和‘0’的综合概率值,包括:
根据所述目标脉冲及其前一脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第一概率和所述目标脉冲对应比特位的值为‘0’的第二概率;
根据所述目标脉冲及其后一脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第三概率和所述目标脉冲对应比特位的值为‘0’的第四概率;
根据所述目标脉冲及其前两个脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第五概率和所述目标脉冲对应比特位的值为‘0’的第六概率;
根据所述目标脉冲及与所述目标脉冲相邻的两个脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第七概率和所述目标脉冲对应比特位的值为‘0’的第八概率;
根据所述目标脉冲及其后两个脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第九概率和所述目标脉冲对应比特位的值为‘0’的第十概率;
对所述第一概率,第三概率和第五概率按照预设运算规则进行运算,得到所述目标脉冲对应比特位的值为‘1’的综合概率值;
对所述第二概率,第四概率和第六概率按照所述预设运算规则进行运算,得到所述目标脉冲对应比特位的值为‘0’的综合概率值。
6.一种fm0编码的解码装置,其特征在于,包括:
获取模块,用于依次将待解码数据中的每个单脉冲作为目标脉冲,获取目标脉冲的脉宽;
解码模块,用于确定所述目标脉冲的脉宽是否在第一阈值或者第二阈值的误差范围内;
所述解码模块还用于若所述目标脉冲的脉宽不在第一阈值和第二阈值的误差范围内,则根据所述目标脉冲及其相邻脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’和‘0’的综合概率值;
所述解码模块还用于将综合概率值大的值作为所述目标脉冲对应比特位的值。
7.根据权利要求6所述的装置,其特征在于,所述解码模块还用于:
若所述目标脉冲的脉宽在所述第一阈值的误差范围内,则确定所述目标脉冲对应比特位的值为‘1’;
若所述目标脉冲的脉宽在所述第二阈值的误差范围内,则确定所述目标脉冲对应比特位的值为‘0’。
8.根据权利要求6所述的装置,其特征在于,所述解码模块还用于:
根据所述目标脉冲及其前一脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第一概率和所述目标脉冲对应比特位的值为‘0’的第二概率;
根据所述目标脉冲及其后一脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第三概率和所述目标脉冲对应比特位的值为‘0’的第四概率;
根据所述目标脉冲及其前两个脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第五概率和所述目标脉冲对应比特位的值为‘0’的第六概率;
根据所述目标脉冲及与所述目标脉冲相邻的两个脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第七概率和所述目标脉冲对应比特位的值为‘0’的第八概率;
根据所述目标脉冲及其后两个脉冲的脉宽,计算所述目标脉冲对应比特位的值为‘1’的第九概率和所述目标脉冲对应比特位的值为‘0’的第十概率;
对所述第一概率,第三概率和第五概率按照预设运算规则进行运算,得到所述目标脉冲对应比特位的值为‘1’的综合概率值;
对所述第二概率,第四概率和第六概率按照所述预设运算规则进行运算,得到所述目标脉冲对应比特位的值为‘0’的综合概率值。
9.一种fm0编码的解码设备,其特征在于,包括:
存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,
所述处理器运行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机程序,
所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
技术总结