对FM0编码进行解码的方法和装置与流程

文档序号:12809024阅读:786来源:国知局
对FM0编码进行解码的方法和装置与流程

本发明涉及通信领域,具体地,涉及一种对fm0编码进行解码的方法和装置。



背景技术:

fm0编码的全称为双相间隔码编码,其特点是在一个位窗内采用电平变化表示不同逻辑。如果电平只在位窗的起始处翻转,其他位置不翻转,则表示逻辑“1”;如果电平既在位窗的起始处翻转,又在位窗中间翻转,则表示逻辑“0”。根据fm0编码规则可以发现,无论传送的码元是“0”还是“1”,在位窗的起始处都需要发生翻转。

目前常见的对fm0编码进行解码的方法是:根据位窗起始处及位窗中的采样点来判断此位窗所表示的码元。假设某位窗宽度为t,该位窗起始处为低电平,则该位窗中间的采样值为高电平时该位窗表示码元“0”,该位窗中间的采样值为低电平时该位窗表示码元“1”。

这种解码方法的缺点是:当在接收过程中出现频率偏移情况时,会造成位窗宽度较大的变化,而解码模块仍然是以固定的时间间隔和t进行解码,因此每次采样和解码都会发生一定的偏移,随着通信数据的增加,解码过程中的采样时间误差会逐渐累计直至累积偏移过多导致漏读或多读情况发生,从而产生误判。



技术实现要素:

本发明的目的是提供一种对fm0编码进行解码的方法和装置,其能够提高对fm0编码进行解码的可靠性、解码速度,并提高接收灵敏度。

为了实现上述目的,本发明提供一种对fm0编码进行解码的方法,该方法包括:获取fm0编码数据中相邻下降沿之间的位窗宽度;对与所述位窗宽度相对应的待解码数据进行缓存;对已缓存的待解码数据进行同步,以确认所述待解码数据中哪两个相邻比特代表一个码元;以及依序两两比特地读取同步后的已缓存待解码数据并将所读取的待解码数据解码为一个码元。

本发明还提供一种对fm0编码进行解码的装置,该装置包括:位窗宽度获取模块,用于获取fm0编码数据中相邻下降沿之间的位窗宽度;缓存模块,用于对与所述位窗宽度相对应的待解码数据进行缓存;同步模块,用于对已缓存的待解码数据进行同步,以确认所述待解码数据中哪两个相邻比特代表一个码元;以及解码模块,用于依序两两比特地读取同步后的已缓存待解码数据并将所读取的待解码数据解码为一个码元。

通过上述技术方案,由于根据本发明的对fm0编码进行解码的方法和装置首先获取fm0编码数据中相邻下降沿之间的位窗宽度,然后对与所述位窗宽度相对应的待解码数据进行缓存和同步,最后依序两两比特地读取同步后的已缓存待解码数据并将所读取的待解码数据解码为一个码元,因此根据本发明的技术在解码时没有采用固定的位窗宽度,从而避免了现有解码技术中因采用固定位窗宽度而产生累积误差并导致漏读或多读情况的发生,进而能够提高对fm0编码进行解码的可靠性,提高解码速度,并提高接收灵敏度。

本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:

图1是根据本发明一种实施方式的对fm0编码进行解码的方法的流程图;以及

图2是根据本发明一种实施方式的对fm0编码进行解码的装置的框图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

本发明提供一种对fm0编码进行解码的方法,如图1所示,该方法可以包括步骤s1至s4。

步骤s1、获取fm0编码数据中相邻下降沿之间的位窗宽度。

假设fm0编码的位速率为1/t,则根据fm0编码的特点,在fm0编码数据中相邻两个下降沿之间的时间间隔也即位窗宽度只可能出现3种情况,即:t、1.5t和2t。本发明的核心思想就是依据这三种位窗宽度对fm0编码数据进行解码。根据本发明的这种解码算法是基于边沿捕捉技术来获取相邻下降沿之间的位窗宽度,也即从当前下降沿至下一下降沿之间的时间间隔为一个位窗宽度,同时下一下降沿又作为下一位窗宽度的起始时刻,因此根据本发明的解码技术所获得的位窗宽度不是固定值,避免了传统解码技术中因位窗宽度固定而产生累积误差并导致漏读或多读情况的发生,因而提高了根据本发明的解码技术的可靠性和接收灵敏度。

另外,可以使用一定频率的采样时钟对fm0编码数据的下降沿进行采样和计数,从而可以根据计数值和采样时钟的频率来得到两个相邻下降沿之间的时间间隔也即位窗宽度。

进一步地,各个位窗宽度所对应的待解码数据可以依据fm0编码的特点来得到,也即:(1)所获取的位窗宽度为t,则该位窗宽度所对应的待解码数据为01;(2)所获取的位窗宽度为1.5t,则若相邻下降沿之间的上升 沿位于该位窗中间偏左侧的位置处,则该位窗宽度所对应的待解码数据为011,若相邻下降沿之间的上升沿位于该位窗中间偏右侧的位置处,则该位窗宽度所对应的待解码数据为001;(3)所获取的位窗宽度为2t,则该位窗宽度所对应的待解码数据为0011。其基本思想就是:以“0”代表半个位窗的下降沿,以“1”代表半个位窗的上升沿,则“00”代表一个位窗的下降沿,“11”代表一个位窗的上升沿。这样,接收到的射频基带信号,也即fm0编码数据就被转变为2位的数字信号,之后只要对这些数字信号进行解码就能完成对fm0编码数据的解码。

步骤s2、对与所述位窗宽度相对应的待解码数据进行缓存。

步骤s3、对已缓存的待解码数据进行同步,以确认所述待解码数据中哪两个相邻比特代表一个码元。

根据fm0编码的规则,字符“01”或“10”应该被解码为码元“0”,字符“11”或“00”应该被解码为码元“1”。但是,在对接收到的fm0编码数据进行解码时,因为没有同步信号,所以在解码步骤之前,需要先进行数据同步,以确认所述待解码数据中哪两个相邻字符(也即被缓存的相邻比特)代表一个码元,这样才能进行正确的解码。因为在fm0编码时,在码元“1”所对应的位窗中间没有翻转,但在不同码元所对应的位窗之间或者在码元“0”所对应的位窗中间有翻转,所以可以认为两个一样的相邻字符即“00”或者“11”表示一个码元,从而以此方式进行同步。另外,为了避免因同步错误导致后续解码完全错位情况的发生,可以通过检测一定长度的序列来进行同步以最大程度上减小出现同步错误的概率,具体方法是:在解码出多组两个一样的相邻字符的情况下,认为同步成功。

另外,在fm0编码中具有前同步码的情况下,还可以依据前同步码对已缓存的待解码数据进行同步。例如,在解码出连续6个“0”和连续6个“1”的前同步码数据之后,才认为数据同步成功了,这样在对前同步码之 后的fm0编码数据进行解码时才能够实现正确的解码。本领域技术人员应当理解的是,上述前同步码仅是示例,实际上,不同的应用场合前同步码也会各有不同。

步骤s4、依序两两比特地读取同步后的已缓存待解码数据并将所读取的待解码数据解码为一个码元。

例如,若同步后的已缓存待解码数据为01001011,则前两个字符01被解码为码元0,第三第四个字符00被解码为码元1,第五第六个字符10被解码为码元0,最后两个字符11被解码为码元1。

至此,就实现了对fm0编码的解码。

优选地,步骤s1可以包括:获取所述fm0编码数据中相邻两个极大值之间的位窗宽度。由于干扰信号通常从基带信号的低电平引入,而且干扰信号的极大值往往明显低于正常基带信号的极大值,如果把干扰信号的下降沿也采集进来,则整个解码的节拍就会发生错误,导致之后的解码完全错误。而通过仅获取fm0编码数据中相邻极大值之间的位窗宽度,则能够在解码过程中剔除干扰信号,使得根据本发明的解码方法的抗干扰性更强,解码更准确。

优选地,在步骤s1之前,根据本发明的解码方法还可以包括:接收解码起始标志位。也即,只有在接收到解码起始标志位时才开始执行步骤s1-s4。

优选地,在步骤s4之后,根据本发明的解码方法还可以包括:接收解码结束标志位。也即,在接收到解码结束标志为之后则停止解码,否则继续等待进行随后的解码。

本发明还提供一种对fm0编码进行解码的装置,如图2所示,该装置包括:位窗宽度获取模块21,用于获取fm0编码数据中相邻下降沿之间的位窗宽度;缓存模块22,用于对与所述位窗宽度相对应的待解码数据进行缓存;同步模块23,用于对已缓存的待解码数据进行同步,以确认所述待解码 数据中哪两个相邻比特代表一个码元;以及解码模块24,用于依序两两比特地读取同步后的已缓存待解码数据并将速读取的待解码数据解码为一个码元。例如,若同步后的已缓存待解码数据为01001011,则解码模块24将前两个字符01解码为码元0,将第三第四个字符00解码为码元1,将第五第六个字符10解码为码元0,将最后两个字符11解码为码元1。

假设fm0编码的位速率为1/t,则根据fm0编码的特点,在fm0编码数据中相邻两个下降沿之间的时间间隔也即位窗宽度只可能出现3种情况,即:t、1.5t和2t。本发明的核心思想就是依据这三种位窗宽度对fm0编码数据进行解码。位窗宽度获取模块21则是基于边沿捕捉技术来获取相邻下降沿之间的位窗宽度,也即从当前下降沿至下一下降沿之间的时间间隔为一个位窗宽度,同时下一下降沿又作为下一位窗宽度的起始时刻,因此位窗宽度获取模块21所获得的位窗宽度不是固定值,避免了传统解码技术中因位窗宽度固定而产生累积误差并导致漏读或多读情况的发生,因而提高了根据本发明的解码装置的可靠性和接收灵敏度。

另外,位窗宽度获取模块21可以使用一定频率的采样时钟对fm0编码数据的下降沿进行采样和计数,从而可以根据计数值和采样时钟的频率来得到两个相邻下降沿之间的时间间隔也即位窗宽度。

进一步地,各个位窗宽度所对应的待解码数据可以依据fm0编码的特点来得到,也即:(1)所获取的位窗宽度为t,则该位窗宽度所对应的待解码数据为01;(2)所获取的位窗宽度为1.5t,则若相邻下降沿之间的上升沿位于该位窗中间偏左侧的位置处,则该位窗宽度所对应的待解码数据为011,若相邻下降沿之间的上升沿位于该位窗中间偏右侧的位置处,则该位窗宽度所对应的待解码数据为001;(3)所获取的位窗宽度为2t,则该位窗宽度所对应的待解码数据为0011。其基本思想就是:以“0”代表半个位窗的下降沿,以“1”代表半个位窗的上升沿,则“00”代表一个位窗的下降 沿,“11”代表一个位窗的上升沿。这样,接收到的射频基带信号,也即fm0编码数据就被转变为2位的数字信号,之后只要对这些数字信号进行解码就能完成对fm0编码数据的解码。

另外,位窗宽度获取模块21优选获取所述fm0编码数据中相邻两个极大值之间的位窗宽度。由于干扰信号通常从基带信号的低电平引入,而且干扰信号的极大值往往明显低于正常基带信号的极大值,如果把干扰信号的下降沿也采集进来,则整个解码的节拍就会发生错误,导致之后的解码完全错误。而通过仅获取fm0编码数据中相邻极大值之间的位窗宽度,则能够在解码过程中剔除干扰信号,使得根据本发明的解码装置的抗干扰性更强,解码更准确。

根据fm0编码的规则,字符“01”或“10”应该被解码为码元“0”,字符“11”或“00”应该被解码为码元“1”。但是,在对接收到的fm0编码数据进行解码时,因为没有同步信号,所以在解码模块24解码之前,同步模块23需要先进行数据同步,以确认所述待解码数据中哪两个相邻字符(也即被缓存的相邻比特)代表一个码元,这样解码模块24才能进行正确的解码。因为在fm0编码时,在码元“1”所对应的位窗中间没有翻转,但在不同码元所对应的位窗之间或者在码元“0”所对应的位窗中间有翻转,所以可以认为两个一样的相邻字符即“00”或者“11”表示一个码元,从而同步模块23可以以此方式进行同步。另外,为了避免因同步错误导致后续解码完全错位情况的发生,同步模块23可以通过检测一定长度的序列来进行同步以最大程度上减小出现同步错误的概率,具体方法是:若解码模块24解码出多组两个一样的相邻字符的情况下,则同步模块23确认数据同步成功。

另外,在fm0编码中具有前同步码的情况下,同步模块23还可以依据前同步码对已缓存的待解码数据进行同步。例如,在解码模块24解码出连 续6个“0”和连续6个“1”的前同步码数据之后,同步模块23确认数据同步成功,这样在解码模块24对前同步码之后的fm0编码数据进行解码时才能够实现正确的解码。本领域技术人员应当理解的是,上述前同步码仅是示例,实际上,不同的应用场合前同步码也会各有不同。

优选地,如图2所示,根据本发明的解码装置还可以包括解码起始标志位接收模块25,用于接收解码起始标志位。这样,只有在解码起始标志位接收模块25接收到解码起始标志位时位窗宽度获取模块21、缓存模块22、同步模块23和解码模块24才开始工作。

优选地,如图2所示,根据本发明的解码装置还可以包括解码结束标志位接收模块26,用于接收解码结束标志位。也即,在解码结束标志位接收模块26接收到解码结束标志为之后根据本发明的解码装置停止解码,否则继续等待进行随后的解码。

以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。

此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

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