一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

维特比译码方法及设备与流程

2021-10-30 01:36:00 来源:中国专利 TAG:译码 维特 实施 通信 方法


1.本技术实施例涉及通信技术领域,尤其涉及一种维特比译码方法及设备。


背景技术:

2.在全球导航卫星系统(global navigation satellite system,简称gnss)中,部分导航系统的发送端通常使用码率为1/2的卷积码对导航电文进行编码后发送,接收端在进行译码时,需要将信道比特进行分组后再输入维特比(viterbi)译码器。
3.其中,接收端在进行译码时,若在分组过程中发生分组错误,则无法得到正确的译码结果,导致译码结果误码率较高。


技术实现要素:

4.本技术实施例提供一种维特比译码方法及设备,可以有效降低维特比译码结果的误码率。
5.第一方面,本技术提供一种维特比译码方法,该方法包括:
6.在接收端接收到编码序列时,将所述编码序列输入维特比译码器;
7.确定所述维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值;
8.当所述最优路径的距离大于或等于所述预设距离阈值,且所述编码序列的起始位置未进行过调整时,调整所述编码序列的起始位置;
9.将调整后的所述编码序列输入所述维特比译码器后,若所述维特比译码器最新输出的最优路径的距离小于所述预设距离阈值,则将所述维特比译码器最新输出的译码序列确定为调整后的所述编码序列对应的译码结果。
10.在一种可行的随时方式中,所述确定所述维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值之后,还包括:
11.当所述最优路径的距离小于所述预设距离阈值时,将所述维特比译码器输出的译码序列确定为所述编码序列对应的译码结果。
12.在一种可行的随时方式中,所述将所述维特比译码器输出的译码序列确定为所述编码序列对应的译码结果之后,还包括:
13.输出移位标识,所述移位标识用于指示所述编码序列的起始位置是否进行过调整。
14.在一种可行的随时方式中,所述确定所述维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值之后,还包括:
15.当所述最优路径的距离大于或等于所述预设距离阈值,且所述编码序列的起始位置已进行过调整时,输出预设的译码错误标识。
16.在一种可行的随时方式中,所述将调整后的所述编码序列输入所述维特比译码器后,还包括:
17.若所述维特比译码器最新输出的最优路径的距离大于或等于所述预设距离阈值,
则输出预设的译码错误标识。
18.在一种可行的随时方式中,还包括:
19.根据所述维特比译码器译码的时间间隔和所述编码序列的符号速率,确定所述编码序列对应的译码长度;
20.根据所述编码序列对应的译码长度确定所述预设距离阈值。
21.在一种可行的随时方式中,所述根据所述编码序列对应的译码长度确定所述预设距离阈值,包括:
22.根据所述编码序列对应的译码长度,生成编码数据;
23.对所述编码数据进行预处理;
24.将预处理后的所述编码数据按正确相位多次输入所述维特比译码器,确定所述维特比译码器输出的第一最小距离集合;以及将预处理后的所述编码数据按错误相位多次输入所述维特比译码器,确定所述维特比译码器输出的第二最小距离集合;
25.根据所述第一最小距离集合与所述第二最小距离集合,确定所述预设距离阈值。
26.第二方面,本技术提供一种维特比译码装置,该装置包括:
27.接收模块,用于在接收到编码序列时,将所述编码序列输入维特比译码器;
28.判断模块,用于确定所述维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值;
29.处理模块,用于当所述最优路径的距离大于或等于所述预设距离阈值,且所述编码序列的起始位置未进行过调整时,调整所述编码序列的起始位置;
30.输出模块,用于将调整后的所述编码序列输入所述维特比译码器后,若所述维特比译码器最新输出的最优路径的距离小于所述预设距离阈值,则将所述维特比译码器最新输出的译码序列确定为调整后的所述编码序列对应的译码结果。
31.第三方面,本技术提供一种电子设备,包括:至少一个处理器和存储器;
32.所述存储器存储计算机执行指令;
33.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面提供的维特比译码方法。
34.第四方面,本技术提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面提供的维特比译码方法。
35.第五方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现如第一方面提供的维特比译码方法。
36.本技术实施例所提供的维特比译码方法及设备,通过确定维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值,可以准确判断出维特比译码器的译码结果是否正确,当维特比译码器的译码结果错误时,通过调整编码序列的起始位置来修正编码序列相位,并将调整后的编码序列重新输入维特比译码器后,若维特比译码器最新输出的最优路径的距离小于上述预设距离阈值,则将维特比译码器最新输出的译码序列确定为调整后的编码序列对应的译码结果,从而可以有效降低维特比译码结果的误码率。
附图说明
37.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对本技术实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
38.图1为本技术实施例中提供的一种编码过程的示意图;
39.图2为本技术实施例中提供的一种正确译码过程的示意图;
40.图3为本技术实施例中提供的一种错误译码过程的示意图;
41.图4为本技术实施例中提供的一种维特比译码方法的流程示意图;
42.图5为本技术实施例中提供的另一种维特比译码方法的流程示意图;
43.图6为本技术实施例中提供的一种维特比译码方法的细化流程示意图;
44.图7为本技术实施例中提供的一种维特比译码装置的程序模块示意图;
45.图8为本技术实施例中提供的一种电子设备的硬件结构示意图。
具体实施方式
46.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。此外,虽然本技术中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
47.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
48.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本技术实施例图示或描述中给出那些以外的顺序实施。
49.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
50.本技术中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
51.本技术可用于gnss领域,例如应用于gnss相关的芯片或芯片模块、设置有gnss接收机的终端、gnss软件接收机等。另外,本技术也还可以应用于其它具有无线接收能力的接收端设备,本技术实施例中不做限定。
52.在本技术一些实施例中,以gnss为例,gnss中部分导航系统的发送端通常使用码率为1/2的卷积码对导航电文编码后再进行发送,接收端在进行译码时,需要将信道比特序列进行分组后再输入维特比(viterbi)译码器进行译码。
53.其中,接收端在进行译码时,若在分组过程中发生错误,则无法得到正确的译码结果;或者,当整段译码数据中的部分字段发生比特翻转时,也无法得到正确的译码结果,导致译码结果误码率较高。
54.示例性的,本技术实施例以星基增强系统(satellite

based augmentation system,sbas)中的准天顶卫星系统(quasi zenith satellite system,qzss)l1信号为例,来说明可能发生分组错误的原因。
55.其中,qzss l1上播发的导航电文以信息块(message block)为单位,每条时长为1s,比特速率为250bps。上述信息块的250个比特按同步头信息(8bit)、信息类型(6bit)、信息数据(212bit)、crc校验信息(24bit)排列。
56.在发送端,上述250个比特进行1/2卷积码调制后,生成500个符号,符号速率为500sps。另外,上述导航电文调制伪码和载波后再发送。
57.为了更好的理解本技术实施例,参照图1,图1为本技术实施例中提供的一种编码过程的示意图。
58.在图1中,假设输入编码为s0、s1、s2、
……
,则经过1/2卷积码编码器之后,会输出两组编码,其中一组为a0、a1、a2、
……
,另一组为b0、b1、b2、
……
;这两组编码进行合成后输出目标编码序列:a0、b0、a1、b1、a2、b2、
……

59.在接收端,接收机经捕获跟踪后,实现伪码的解扩和多普勒补偿。在稳定跟踪后可确认导航电文20ms的比特边界,并将导航电文剥离出来。但是,由于信息块的同步头信息也进行了卷积码调制,因此在译码之前,无法判断当前的数据流与信息块起始位置在时间上的相对关系,因此存在分组错误的可能性。
60.为了更好的理解本技术实施例,参照图2,图2为本技术实施例中提供的一种正确译码过程的示意图。
61.在图2中,接收端在接收到目标编码之后,需要将目标编码分成两组后再输入维特比译码器。假设接收端接收到的目标编码序列为“a0’、b0’、a1’、b1’、a2’、b2’、
……”
,则正确分组时,会将a0’作为起始位置,输入维特比译码器的两组编码分别为“a0’、a1’、a2’、
……”
与“b0’、b1’、b2’、
……”
。此时,经过维特比译码器输出的译码结果“s0’、s1’、s2’、
……”
为正确的译码结果。
62.其中,
“’”
表示因信道噪声产生的误码。
63.由于进行维特比译码时并不确定当前时间,也可能将b0’作为起始位置,此种情况下输入维特比译码器的两组编码分别为“a1’、a2’,a3’,
……”
与“b0’、b1’、b2’,
……”
。此时,经过维特比译码器输出的译码结果“s0”、s1”、s2”、
……”
则为错误的译码结果。
64.为了更好的理解本技术实施例,参照图3,图3为本技术实施例中提供的一种错误译码过程的示意图。
65.在图3中,由于a1’和b0’不是同一组编码输出,因此在错误的输入方式下的译码输出为错误结果。
66.为了降低维特比译码的误码率,在一种可行的实施方式中,可以通过将译码输出再次输入编码器,并将编码输出和译码输入进行相关后判断是否存在分组错误,但该方法需要额外的编码器和相关器,功耗较大,且容易造成延迟。在另一种可行的实施方式中,可以通过检测译码输出和译码输入间相关性来判断是否存在分组错误,但该方法仍需要额外
的相关器,功耗同样较大。
67.基于上述内容,本技术实施例中提供了一种维特比译码方法,无需使用相关器和编码器,即可准确判断出维特比译码器的译码结果是否正确,当维特比译码器的译码结果错误时,通过调整编码序列的起始位置来修正编码序列相位,并将调整后的编码序列重新输入维特比译码器后,若维特比译码器最新输出的最优路径的距离小于上述预设距离阈值,则将维特比译码器最新输出的译码序列确定为调整后的编码序列对应的译码结果,可以有效降低维特比译码结果的误码率,且具有更低的功耗和面积。
68.本技术实施例中提供的维特比译码方法,可以适用于场景相对固定的维特比译码,例如接收机译码时间间隔固定的场景。
69.另外,本技术实施例中提供的维特比译码方法,适用于信噪比/载噪比大于一定阈值的场景,例如适用于信噪比/载噪比大于20dbhz的场景。
70.参照图4,图4为本技术实施例中提供的一种维特比译码方法的流程示意图,在本技术一种可行的实施方式中,上述维特比译码方法包括:
71.s401、在接收端接收到编码序列时,将该编码序列输入维特比译码器。
72.示例性的,上述编码序列可以为导航电文,接收端在接收到导航电文后,即可将该导航电文输入维特比译码器进行译码。
73.其中,维特比译码器在译码结束后,输出最优路径对应的距离。
74.s402、确定维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值。
75.本技术实施例中,在维特比译码器在译码结束,并输出最优路径对应的距离之后,将最优路径对应的距离与预设距离阈值进行比较,确定维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值。
76.其中,当维特比译码器输出的最优路径的距离是小于预设距离阈值时,可以认为维特比译码器输出的译码结果正确,结束译码;否则,认为维特比译码器输出的译码结果错误。
77.s403、当上述最优路径的距离大于或等于预设距离阈值,且上述编码序列的起始位置未进行过调整时,调整上述编码序列的起始位置。
78.本技术实施例中,当上述最优路径的距离大于或等于预设距离阈值时,确定译码结果错误,此时判断上述编码序列的起始位置是否进行过调整,若上述编码序列的起始位置未进行过调整,则可以认为输入的编码序列存在错误,此错误可能存在两种情况:情况一是编码序列出现的分组错误导致,情况二是编码序列出现的比特翻转导致。
79.在本技术实施例中,当上述最优路径的距离大于或等于预设距离阈值,且上述编码序列的起始位置未进行过调整时,调整上述编码序列的起始位置,并将调整后的编码序列输入维特比译码器重新进行译码,以此来判断导致译码结果错误的原因是上述“情况一”还是“情况二”。
80.在一种可行的实施方式中,可以将上述编码序列的起始位置右移1个符号。
81.s404、将调整后的编码序列输入维特比译码器后,若维特比译码器最新输出的最优路径的距离小于预设距离阈值,则将维特比译码器最新输出的译码序列确定为调整后的编码序列对应的译码结果。
82.本技术实施例中,在将调整后的编码序列输入维特比译码器后,若维特比译码器
最新输出的最优路径的距离小于预设距离阈值,则可以认为此时维特比译码器输出的译码结果正确,维特比译码器最新输出的译码序列即为调整后的编码序列对应的译码结果。
83.其中,在将调整后的编码序列输入维特比译码器后,若维特比译码器最新输出的最优路径的距离小于预设距离阈值,则可以认为上一次译码错误是由编码序列出现的分组错误导致;若维特比译码器最新输出的最优路径的距离仍旧大于或等于预设距离阈值,则可以认为上一次译码错误并不是由编码序列出现的分组错误导致,而可能是由编码序列出现的比特翻转导致。
84.本技术实施例所提供的维特比译码方法,通过确定维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值,可以准确判断出维特比译码器的译码结果是否正确,当维特比译码器的译码结果错误时,通过调整编码序列的起始位置来修正编码序列相位,并将调整后的编码序列重新输入维特比译码器后,若维特比译码器最新输出的最优路径的距离小于上述预设距离阈值,则将维特比译码器最新输出的译码序列确定为调整后的编码序列对应的译码结果,从而可以有效降低维特比译码结果的误码率。
85.基于上述实施例中所描述的内容,参照图5,图5为本技术实施例中提供的另一种维特比译码方法的流程示意图,在本技术一种可行的实施方式中,上述维特比译码方法包括:
86.s501、将编码序列输入维特比译码器。
87.s502、维特比译码器译码结束后,输出最优路径的距离。
88.s503、判断最优路径的距离是否小于预设距离阈值。若是,则执行步骤s504;若否,则执行步骤s505。
89.s504、输出译码结果,结束译码。
90.即本技术实施例中,当上述最优路径的距离小于预设距离阈值时,认为维特比译码器输出的译码结果正确,可以将维特比译码器输出的译码序列确定为编码序列对应的译码结果。
91.可选的,在输出译码结果后,还可以输出移位标识,该移位标识用于指示编码序列的起始位置是否进行过调整,以便于下一轮译码时确定编码序列的输入方式。
92.s505、判断编码序列的起始位置是否已进行过调整。若是,则执行步骤s507;若否,则执行步骤s506。
93.s506、调整编码序列的起始位置,并返回执行步骤s501。
94.在一种可行的实施方式中,可以将上述编码序列的起始位置右移1个符号。
95.s507、输出预设的译码错误标识,结束译码。
96.本技术实施例中,在将调整后的所述编码序列输入维特比译码器后,若维特比译码器最新输出的最优路径的距离仍旧大于或等于预设距离阈值,则输出预设的译码错误标识。
97.即在将调整后的所述编码序列输入维特比译码器后,若上述最优路径的距离大于或等于预设距离阈值,则可以认为译码错误并不是由分组错误导致的,此时不需要再次调整编码序列的起始位置,而是直接输出预设的译码错误标识。
98.本技术实施例提供的维特比译码方法,具有如下优势:
99.1)无需使用相关器和编码器,便可以准确判断出维特比译码器的译码输入是否存
在分组错误,具有更低的功耗和更快的计算速度。
100.2)若译码输入首次分组方式正确,则无需进行二次译码。
101.3)对于部分字段发生比特翻转,或误码率高的场景,无需进行crc校验即可判断出当前译码结果存在错误。
102.基于上述实施例中所描述的内容,在一些实施例中,输入的编码序列支持软判决和硬判决。在硬判决下,上述预设距离阈值与上述编码序列对应的译码长度相关;在软判决下,上述预设距离阈值与上述编码序列对应的译码长度,以及软比特位宽与极值均相关。
103.在一些实施例中,针对同一种信号,使用固定的译码长度。比如gpsl5信号中,编码后的符号速率为100hz,若设定每1s译码一次,则每次译码长度为100个符号,每次译码使用固定的距离阈值。
104.若两次译码使用不同的译码长度,则需根据译码长度调整上述距离阈值。
105.可选的,上述距离阈值通过在硬判决/软判决和不同译码长度的设定下仿真获得。在本技术一种可行的实施方式中,需要提前设定应用场景,根据译码的时间间隔和译码信号的符号速率,确定可能使用的译码长度,并根据该译码长度仿真得到上述距离阈值。
106.在一些实施例中,根据编码序列对应的译码长度确定预设距离阈值的方式包括:
107.根据编码序列对应的译码长度,生成编码数据;
108.对上述编码数据进行预处理;
109.将预处理后的编码数据按正确相位多次输入所述维特比译码器,确定维特比译码器输出的第一最小距离集合;以及将预处理后的编码数据按错误相位多次输入所述维特比译码器,确定维特比译码器输出的第二最小距离集合;
110.根据上述第一最小距离集合与第二最小距离集合,确定上述预设距离阈值。
111.参照图6,图6为本技术实施例中提供的一种维特比译码方法的细化流程示意图。在本技术一种可行的实施方式中,上述距离阈值的仿真流程包括:
112.601、根据编码序列对应的译码长度,生成编码数据;其中,可以根据实际应用场景选择数据的类型和分布概率,比如随机生成0 1数据。
113.602、进行维特比编码。
114.603、发射数据调制后经过信道。可选的,可根据实际应用场景对信道和调制方式进行建模,比如高斯白噪声信道,二进制相移键控(binary phase shift keying,bpsk调制等。
115.604、接收端进行解调和判决。可选的,判决方式支持软判决和硬判决。
116.在一些实施例中,可以对生成的编码数据按预设信噪比加噪声后,再重新判决。
117.605、接收端将编码数据按正确相位输入维特比译码器,统计译码输出的最小距离。
118.606、接收端将编码数据按错误相位输入维特比译码器,统计译码输出的最小距离。
119.在一些实施例中,可以将判决结果分别按正确相位和错误相位输入译码器,获得第一最小距离1和第二最小距离2。在同一噪声强度下进行多次仿真(一千次以上),获得多个最小距离。将正确相位下的多个第一最小距离组成的集合称为距离样本数据1,将错误相位下的多个第二最小距离组成的集合称为距离样本数据2,二者的总和称为距离样本数据。
120.其中,距离样本数据范围=距离样本数据中的最大元素值

距离样本数据中的最小元素值。
121.在上述距离样本数据的范围内,以一定步长设定多个距离阈值。在上述步长选取为译码器距离输出的最小单位时,上述距离阈值的精度最高。
122.可选的,为了权衡仿真运算量和距离阈值的精度,可以选取步长为1~5倍译码器距离输出的最小单位。
123.其中,可以称上述多个距离阈值为阈值集合。例如,假设译码器距离输出的最小单位为1,距离样本数据的最小值为200,距离样本数据的最大值为500,则可选择步长为1,阈值集合为200、201、202、

、500。
124.607、进行一定次数的仿真后,分析605和606中的统计结果,综合漏检概率和误检概率,确定合适的距离阈值。
125.在一些实施例中,设定当前距离阈值为d
th
。单次漏检概率p
d
为错误相位下,译码距离小于距离阈值d
th
的概率,计算方式为:
126.p
d
=距离样本数据2中小于距离阈值d
th
的元素个数/距离样本数据2中的元素个数
127.单次误检概率p
f
为正确相位下,译码距离大于距离阈值d
th
的概率,计算方式为:
128.p
f
=距离样本数据1中大于距离阈值d
th
的元素个数/距离样本数据1中的元素个数
129.对于同一距离样本数据,随着d
th
变大,p
d
会变大,p
f
会变小。
130.设定当前的判断策略为,成功次数≥s
th
后为真正成功,失败次数≥f
th
次后为真正失败。单次成功为译码距离<d
th
,单次失败为译码距离≥d
th

131.以下计算当前策略下的漏检概率p
d

strategy
和误检概率p
f

strategy

132.设定事件a为:成功次数=s
th
时,失败次数<f
th
,则当前策略下的漏检概率p
d

strategy
为:
[0133][0134]
其中,为从m个元素中选取n个元素形成的组合个数。随着d
th
变大,p
d
会变大,p
d

strategy
也会变大。
[0135]
设定事件b为:失败次数=f
th
时,成功次数<s
th
,则当前策略下的误检概率p
f

strategy
为:
[0136][0137]
其中,随着d
th
变大,p
f
会变小,p
f

strategy
也会变小。
[0138]
针对阈值集合内的每一个阈值元素都计算当前策略下的漏检概率p
d

strategy
和误检概率p
f

strategy
,画出d
th

p
d

strategy
曲线和d
th

p
f

strategy
曲线。
[0139]
基于上述分析,随着d
th
变大,p
d

strategy
会变大,p
f

strategy
会变小。权衡漏检概率和误检概率,选取上述两条曲线的焦点对应的d
th
为当前信噪比下的仿真距离阈值。
[0140]
在不同信噪比下进行仿真,得到不同信噪比下的多个d
th
和对应当前的漏检概率和误检概率对多个d
th
取均值,作为最终距离阈值。
[0141]
在一些实施例中,对于信噪比的选取,可以采用以下方式:
[0142]
方式一:信噪比的具体设定可根据仿真结果迭代调整。
[0143]
通过分析可得,当信噪比较大时,和基本为0;随着信噪比降低,和会逐渐增大。当和超出使用者能承受的性能损失的极限时,将此时对应的信噪比作为仿真中的信噪比下限。逐渐提升信噪比,直到和接近于0,并将此时对应的信噪比设为仿真中的信噪比上限。
[0144]
方法二:若已知使用场景对应的信号强度,可根据bit时长进行推算。设需要维特比译码器工作的信号强度为xdbm,此时载噪比cn0为:
[0145]
cn0=x

(

174)

noisefigure

loss
[0146]
其中,

174为常温下的噪声功率谱密度,单位为dbm/hz;noisefigure为噪声系数,实际射频链路中经典值为3db;loss为其他损失,包括量化噪声等,具体值需要使用者根据平台自行仿真,实际一般不大于1db。
[0147]
设当前bit时长为t,则1bit对应的信噪比snr为:
[0148]
snr=cn0

b
n
[0149]
其中,b
n
为噪声带宽,单位为db,与bit时长t的关系为:
[0150][0151]
若已知使用场景对应的信号强度范围和bit时长,可根据上述公式进行推算,获得bit的信噪比范围。
[0152]
在一些实施例中,对于判断策略中s
th
和f
th
的选取,
[0153]
根据p
d

strategy
、p
f

strategy
的计算公式可以看出,随着s
th
和f
th
的变大,实际漏检和误检概率将显著降低。
[0154]
在对漏检/误检的性能要求不高的情况下,选取s
th
=1,f
th
=1,此时p
d

strategy
、p
f

strategy
退化为单次检测的漏检概率p
d
和误检概率p
f

[0155]
在对漏检/误检的性能要求较高、且能承受一定程度的延时的情况下,可以提升s
th
和f
th
。若更看重漏检性能,可设定s
th
>f
th
;若更看重误检性能,可设定f
th
>s
th

[0156]
其中,由于将接收到的连续信号进行了分段处理,故在每次译码结束后需要输出维特比译码器的中间状态。下次译码时,若与历史译码状态对应的译码标志显示上次译码正确,则使用历史译码状态对维特比译码器进行初始化;若上次译码失败,则对译码器进行全0初始化,这样可缩短错误的译码输入(如大片数据反向)对译码输出造成的影响。
[0157]
本技术实施例所提供的维特比译码方法,可以全部由硬件实现,也可以部分硬件实现,部分软件实现。在部分硬件实现,部分软件实现时,以下实施例以处理sbas系统中的qzss l1信号为例进行说明接收机进行维特比译码的流程,包括:
[0158]
1)缓存导航电文剥离的结果,每满501个符号,输入前500个符号进入维特比译码器进行译码。
[0159]
2)根据门限判决结果判断当前符号分组是否正确。若正确则跳至第4)步;若不正确,则将第2~501个符号送入维特比译码器进行译码。
[0160]
3)根据门限判决结果,判断第二次符号分组是否正确,若不正确则舍弃前500个符
号,跳至第1)步,等待下一次导航电文存满501个符号。
[0161]
4)在当前500个符号获得正确译码结果后,等待下一次导航电文存满500个符号,并根据上一次的分组方式进行分组后输入维特比译码器后,判断译码结果是否正确。
[0162]
5)可根据应用场景设定译码正确次数门限,连续正确次数达到该门限后,在译码结果中搜索同步头,并将对应的校验bit进行crc校验。
[0163]
本技术实施例所提供的维特比译码方法,不仅可以准确判断出维特比译码器的译码结果是否正确,还可以有效降低维特比译码结果的误码率。
[0164]
基于上述实施例中所描述的内容,本技术实施例中还提供一种维特比译码装置。参照图7,图7为本技术实施例中提供的一种维特比译码装置的程序模块示意图,该维特比译码装置包括:
[0165]
接收模块701,用于在接收到编码序列时,将编码序列输入维特比译码器。
[0166]
判断模块702,用于确定维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值。
[0167]
处理模块703,用于当最优路径的距离大于或等于预设距离阈值,且编码序列的起始位置未进行过调整时,调整编码序列的起始位置。
[0168]
输出模块704,用于将调整后的编码序列输入维特比译码器后,若维特比译码器最新输出的最优路径的距离小于所述预设距离阈值,则述维特比译码器最新输出的译码序列确定为调整后的编码序列对应的译码结果。
[0169]
本技术实施例所提供的维特比译码装置,通过确定维特比译码器输出的最优路径的距离是否大于或等于预设距离阈值,可以准确判断出维特比译码器的译码结果是否正确,当维特比译码器的译码结果错误时,通过调整编码序列的起始位置来修正编码序列相位,并将调整后的编码序列重新输入维特比译码器后,若维特比译码器最新输出的最优路径的距离小于上述预设距离阈值,则将维特比译码器最新输出的译码序列确定为调整后的编码序列对应的译码结果,从而可以有效降低维特比译码结果的误码率。
[0170]
在一种可行的实施方式中,处理模块703还用于:
[0171]
当所述最优路径的距离小于所述预设距离阈值时,将所述维特比译码器输出的译码序列确定为所述编码序列对应的译码结果。
[0172]
在一种可行的实施方式中,输出模块704还用于:
[0173]
将所述维特比译码器输出的译码序列确定为所述编码序列对应的译码结果之后,输出移位标识,所述移位标识用于指示所述编码序列的起始位置是否进行过调整。
[0174]
在一种可行的实施方式中,输出模块704还用于:
[0175]
当所述最优路径的距离大于或等于所述预设距离阈值,且所述编码序列的起始位置已进行过调整时,输出预设的译码错误标识。
[0176]
在一种可行的实施方式中,输出模块704还用于:
[0177]
将调整后的所述编码序列输入所述维特比译码器后,若所述维特比译码器最新输出的最优路径的距离大于或等于所述预设距离阈值,则输出预设的译码错误标识。
[0178]
在一种可行的实施方式中,处理模块703还用于:
[0179]
根据所述维特比译码器译码的时间间隔和所述编码序列的符号速率,确定所述编码序列对应的译码长度;根据所述编码序列对应的译码长度确定所述预设距离阈值。
[0180]
在一种可行的实施方式中,处理模块703还具体用于:
[0181]
根据所述编码序列对应的译码长度,生成编码数据;
[0182]
对所述编码数据进行预处理;
[0183]
将预处理后的所述编码数据按正确相位多次输入所述维特比译码器,确定所述维特比译码器输出的第一最小距离集合;以及将预处理后的所述编码数据按错误相位多次输入所述维特比译码器,确定所述维特比译码器输出的第二最小距离集合;
[0184]
根据所述第一最小距离集合与所述第二最小距离集合,确定所述预设距离阈值。
[0185]
需要说明的是,本技术实施例中接收模块701、判断模块702、处理模块703、输出模块704具体执行的内容可以上述实施例中描述的维特比译码方法中的各个步骤,本技术实施例中不做赘述。
[0186]
可选的,上述装置可以是芯片或芯片模组等。
[0187]
关于上述实施例中装置包含的各模块,其可以是软件模块,也可以是硬件模块,或者也可以部分是软件模块,部分是硬件模块。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块可以都采用电路等硬件的方式实现,或者,至少部分模块可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块可以都采用电路等硬件的方式实现,不同的模块可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块可以采用软件程序的方式实现,该软件程运行于芯片模组内部集成的处理器,剩余(如果有)部分模块可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的模块可以都采用电路等硬件的方式实现,不同的模块可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者至少部分模块可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块可以采用电路等硬件方式实现。
[0188]
进一步的,基于上述实施例中所描述的内容,本技术实施例中还提供了一种电子设备,该电子设备包括至少一个处理器和存储器;其中,存储器存储计算机执行指令;上述至少一个处理器执行存储器存储的计算机执行指令,以实现如上述实施例中描述的维特比译码方法中的各个步骤,本技术实施例中不做赘述。
[0189]
为了更好的理解本技术实施例,参照图8,图8为本技术实施例提供的一种电子设备的硬件结构示意图。
[0190]
如图8所示,本实施例的电子设备80包括:处理器801以及存储器802;其中:
[0191]
存储器802,用于存储计算机执行指令;
[0192]
处理器801,用于执行存储器存储的计算机执行指令,以实现上述实施例中描述的维特比译码方法中的各个步骤,本技术实施例中不做赘述。
[0193]
可选地,存储器802既可以是独立的,也可以跟处理器801集成在一起。
[0194]
当存储器802独立设置时,该设备还包括总线803,用于连接所述存储器802和处理器801。
[0195]
进一步的,基于上述实施例中所描述的内容,本技术实施例中还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,以实现如上述实施例中描述的维特比译码方法中的各个步骤,本技术实
施例中不做赘述。
[0196]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0197]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0198]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0199]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。
[0200]
应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0201]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0202]
总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0203]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0204]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
[0205]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通
过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0206]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜