曼彻斯特编码信号解码方法和装置的制造方法_3

文档序号:8433426阅读:来源:国知局
修正后的电平信号示意图。
[0080]设[tl,t2)为短电平持续时间误差范围,[t2,t3]为长电平持续时间误差范围,(0,tl)为毛刺电平时间范围,T为短电平持续时间,其中常数tl < T < t2 < 2T < t3 ;设毛刺电平的电平持续时间为a,毛刺电平前一个电平信号的电平持续时间为e,毛刺电平后一个电平信号的电平持续时间为b,其中,a在(0,tl)之间,e在[tl,t2)之间,b在[tl,t2)之间;
[0081]修正方法为:
[0082]若a+e+b ( t3,则将三个电平信号修正为一个电平信号,电平高低标识与毛刺电平前一个电平相同,电平持续时间根据a+e+b的取值修正为T或2T (图5B中以2T来举例)。
[0083]若a+e+b > t3,则保持三个电平信号的电平高低标识不变,将电平持续时间均修正为T。
[0084]参见图7A和图7B,在一个实施例中,为第四类排列方法的示意图。图7A为修正前的电平信号示意图,图7B为修正后的电平信号示意图。
[0085]设[tl,t2)为短电平持续时间误差范围,[t2,t3]为长电平持续时间误差范围,(0,tl)为毛刺电平时间范围,T为短电平持续时间,其中常数tl <T<t2<2T<t3 ;设毛刺电平的电平持续时间为a,毛刺电平前一个电平信号的电平持续时间为e,毛刺电平后一个电平信号的电平持续时间为b,毛刺电平后第二个电平信号的电平持续时间为C,其中,a在(O,tl)之间,e 在[tl,t2)或[t2,t3]之间,b 在(O,tl)之间,c 在[tl,t3]之间;
[0086]修正方法为:
[0087]将毛刺电平和其后两个电平信号修正为一个电平信号,电平高低标识与毛刺电平相同,电平持续时间根据a+b+c的取值修正为T或2T(图中以2T来举例)。
[0088]前述实施例中的曼彻斯特编码信号解码方法及其涉及的四类修正方法可以通过程序代码来实现,程序代码可以但不限于是C++等代码。在该程序代码中,以tl = 30 μ S,T = 50 μ s, t2 = 80 μ s,t3 = 120 μ s 来举例,其主要步骤包括 Stepl 至 SteplO。
[0089]Stepl:记录所接收到信号数据全部电平的时间和电平高低,比如将值记录在变量WaveVar [loop].time 和 WaveVar [loop].level 中(其中,变量 WaveVar [loop].time 代表记录信号数据中第loop+1个电平的时间,变量WaveVar[loop], level代表记录信号数据中第loop+1个电平的高低)。若出现电平的时间大于,则重新等待接收新的信号数据报文,并执行Stepl,否则执行Step2。
[0090]Step2:从记录信号数据的第二个电平的时间变量开始处理,直到处理完预计的总电平数为止。(也就是loop从I开始,处理到size-1为止,其中size可赋值为160,表示160个电平中除了包含代表需要解码的64位数据所需要的128个电平以及可能存在的最多毛刺电平数32个)。具体处理方法如下面步骤所示:
[0091]St印3:判断该电平是否在(0,30ys)之间,若是,则该电平为毛刺,执行St印4,否贝ij,判断下一个电平是否为预计处理的总电平数的最后一个电平,若是,则表示已处理完全部信号数据的毛刺电平,即无毛刺的64位信号数据的电平时间和电平高低保存在记录的变量中。否则,处理下一个电平,重新执行Step3。
[0092]Step4:用变量a、e、b分别也记录该毛刺电平的时间、该毛刺电平相邻的上一个电平的时间、该毛刺电平相邻的下一个电平的时间。
[0093]Step5:判断e是否在[80 μ S,120 μ s]之间,若是,执行Step6,否则,执行Step9。
[0094]Step6:判断b是否在[80 μ S,120 μ s]之间,若不是,则执行Step7。否则,该条件符合毛刺电平介于两个长电平信号之间的情况。处理方法为:判断e是否大于b ?若是,则将记录该毛刺电平以及相邻的下一个电平的时间变量值修改为正常50 μ s电平的时间,以便消除该毛刺,然后执行Step3。若不是,则将记录该毛刺电平以及相邻的上一个电平的时间变量值修改为正常50 μ s电平的时间,以便消除该毛刺,然后执行Step3。
[0095]Step7:判断b是否在[30 μ s, 80 μ s)之间,若不是,则执行Step8。否则,该条件符合毛刺电平介于长电平信号和短电平信号之间的情况。处理方法为:则将记录该毛刺电平以及相邻的上一个电平的时间变量值修改为正常50 μ s电平的时间,以便消除该毛刺,然后执彳丁 Step3o
[0096]StepS:说明该毛刺电平相邻的下一个电平也为毛刺电平。判断第二个毛刺电平是否为预计处理的总电平数的最后一个电平,若是,则将记录第一个毛刺的时间修改为这两个毛刺电平时间的总和;同时,表示已处理完全部信号数据的毛刺电平,即无毛刺的64位信号数据的电平和高低保存在记录的变量中。否则,将用变量c记录第二个毛刺电平相邻的下一个电平的时间,判断a、b、c的总和是否在[30 μ S,80 μ s)之间,若是,则将记录第一个毛刺电平的时间变量值修改为两个毛刺电平和第二个毛刺电平相邻的下一个电平时间的总和,以便消除第一个毛刺。同时,从记录第二个毛刺电平的时间和电平高低的变量开始,对应的时间和高低变量值分别修改为相邻后第二个电平的时间和电平高低值,需要预计处理的总电平数减少2个,以便消除两个相邻的毛刺。然后执行Step3。否则,执行Stepl。
[0097]St印9:那么e肯定在[30 μ s, 80 μ s)之间,判断b是否在[80 μ S,120 μ s]之间,若不是,则执行SteplO。否则,该条件符合毛刺电平介于短电平信号和长电平信号之间的情况。处理方法为:则记录该毛刺电平以及相邻的下一个电平的时间变量值修改为正常50 μ s电平的时间,以便消除该毛刺,然后执行St印3。
[0098]SteplO:判断b是否在[30 μ s, 80 μ s)之间,若不是,则执行Step8。否则,该条件符合毛刺电平介于两个短电平信号之间的情况。处理方法为:判断e、a、b的总和是否大于120 μ S,若是,则记录该毛刺电平以及相邻的下一个电平的时间变量值修改为正常50 μ s电平的时间,以便消除该毛刺,然后执行Step3。否则,则将记录该毛刺电平相邻上一个电平的时间变量值修改为该毛刺电平和相邻两个电平的时间总和。同时,从记录该毛刺电平的时间和电平高低的变量开始,对应的时间和高低变量值分别修改为相邻后第二个电平的时间和电平高低值,需要预计处理的总电平数减少2个,以便消除该毛刺,然后执行Step3。
[0099]参见图8,在一个实施例中提供了一种曼彻斯特编码信号解码装置。该装置包括:
[0100]接收单元,用于接收曼彻斯特编码信号。
[0101]记录单元,用于记录所述曼彻斯特编码信号中各高、低电平信号对应的电平高低标识及电平持续时间。
[0102]识别单元,用于识别所述曼彻斯特编码信号中的毛刺电平。
[0103]修正单元,用于根据毛刺电平及其前、后两个电平信号的电平高低标识和电平持续时间,进行计算,消除毛刺电平,并修正为只含有短电平信号或长电平信号的数据信
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1