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

一种编码方法及装置与流程

2022-06-08 08:46:23 来源:中国专利 TAG:

一种编码方法及装置
1.本技术是分案申请,原申请的申请号是201810032298.2,原申请日是2018年01月12日,原申请的全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及编码领域,尤其涉及一种解决噪声相关性的编码方法及装置。


背景技术:

3.目前,高速光传输网络正朝着大容量、分组化、智能化的方向发展。高速光传输网络需要采用高效的前向纠错码(forward error correction,fec)来对抗光传输过程中的光学损伤(如未补偿的色散,偏振模色散,和非线性效应等),并在长距离传输时保持足够低的误比特率。其中,大多数fec码都是在(additive white gaussian noise,awgn)加性高斯白噪声下设计的。
4.然而,在实际通信系统下,噪声是具有相关性的,噪声的相关性会导致fec码的性能劣化。本技术提供的编码方法及装置可以实现降低噪声的相关性对编码系统的影响,且编码复杂度较低。


技术实现要素:

5.本技术的目的在于提供一种编码方法及装置,解决了噪声相关性导致的编码系统性能劣化问题。
6.第一方面,提供一种编码装置,包括:阶梯码误码去相关交织器(sedi),阶梯码编码器,阶梯码误码去相关解交织器(sedd)和输出单元;所述sedi,用于对收到的第一信息序列进行sedi处理,得到第二信息序列;所述阶梯码编码器,用于对所述第二信息序列进行阶梯编码,得到第一校验序列;所述sedd,用于对所述第一校验序列进行sedd处理,得到第二校验序列;所述输出单元,用于接收所述第一信息序列,将所述第二校验序列和所述第一信息序列合并输出;或将所述第二校验序列和所述下一时刻的第一信息序列合并输出。
7.本技术实施例提供的编码装置最终输出的序列中包含的信息序列和校验序列,相对于阶梯码编码器产生的信息序列和校验序列都打乱了位置(也就是进行交织),因此,可以起到降低噪声相关性的作用,而且sedd无需对信息序列进行交织,编码的复杂度和功耗并不高。
8.在一种可能的实现方式中,所述sedi和所述sedd的操作是互逆的,所述sedi和所述sedd对接收的数据以比特为单位进行交织。本实施例可以保证输出序列的系统性,提升码性能。
9.在一种可能的实现方式中,所述阶梯码编码器包括第一缓存和第二缓存,其中,所述第一缓存存储当前时刻的第二信息序列,所述第二缓存存储前一时刻在所述第一缓存中存储的数据;所述阶梯码编码器用于将所述第一缓存中的第m行数据和所述第二缓存中的第n列数据进行编码,得到第m校验数据,将所述第m校验数据写入所述第一缓存的第m行中,
其中,m和n均为整数,且m的取值对应唯一的n的取值;所述阶梯码编码器将所述第一缓存中的校验数据读出,得到所述第一校验序列。
10.在一种可能的实现方式中,在所述第一缓存中数据的行数m大于所述第二缓存中数据的列数n时,所述第二缓存中的数据包括额外的m-n列全0数据,其中,m和n均为正整数。
11.在一种可能的实现方式中,所述第一信息序列和所述第二信息序列的长度为512
×
478比特,所述第一校验序列和所述第二校验序列的长度为512
×
32比特。
12.第二方面,提供一种编码方法,其特征在于,包括:接收第一信息序列,将所述第一信息序列进行阶梯码误码去相关交织(sedi)处理,得到第二信息序列;对所述第二信息序列进行阶梯编码,得到第一校验序列;对所述第一校验序列进行阶梯码误码去相关解交织(sedd)处理,得到第二校验序列;将所述第二校验序列和所述第一信息序列合并输出,或将所述第二校验序列和所述下一时刻的第一信息序列合并输出。
13.在一种可能的实现方式中,对第一信息序列执行的交织操作和对第一校验序列执行的交织操作是互逆的,且均以比特为单位进行交织。本实施例可以保证输出序列的系统性,提升码性能。
14.在一种可能的实现方式中,对所述第二信息序列进行阶梯编码,得到第一校验序列,具体包括:将第一缓存中的第m行数据和第二缓存中的第n列数据进行编码,得到第m校验数据,将第m校验数据写入所述第一缓存的第m行中,其中,第一缓存存储当前时刻的第二信息序列,第二缓存存储前一时刻在所述第一缓存中存储的数据;m和n均为整数,且m的取值对应唯一的n的取值;将所述第一缓存中的校验数据读出,得到所述第一校验序列。
15.在一种可能的实现方式中,在所述第一缓存中数据的行数m大于所述第二缓存中数据的列数n时,所述第二缓存中的数据包括额外的m-n列全0数据,其中,m和n均为正整数。
16.在一种可能的实现方式中,所述第一信息序列和所述第二信息序列的长度为512
×
478比特,所述第一校验序列和所述第二校验序列的长度为512
×
32比特。
17.第三方面,提供一种编码装置,包括:输入接口,处理器和输出接口,其中,所述处理器,用于通过所述输入接口接收第一信息序列,通过所述输出接口发送合并后的序列;还用于将所述第一信息序列进行阶梯码误码去相关交织(sedi)处理,得到第二信息序列;对所述第二信息序列进行阶梯编码,得到第一校验序列;对所述第一校验序列进行阶梯码误码去相关解交织(sedd)处理,得到第二校验序列;将所述第二校验序列和所述第一信息序列合并,或将所述第二校验序列和所述下一时刻的第一信息序列合并。
18.在一种可能的实现方式中,对第一信息序列执行的交织操作和对第一校验序列执行的交织操作是互逆的,且均以比特为单位进行交织。本实施例可以保证输出序列的系统性,提升码性能。
19.在一种可能的实现方式中,所述处理器对所述第二信息序列进行阶梯编码,得到第一校验序列,具体包括:所述处理器将第一缓存中的第m行数据和第二缓存中的第n列数据进行编码,得到第m校验数据,将第m校验数据写入所述第一缓存的第m行中,其中,所述第一缓存存储当前时刻的第二信息序列,所述第二缓存存储前一时刻在所述第一缓存中存储的数据;m和n均为整数,且m的取值对应唯一的n的取值;将所述第一缓存中的校验数据读出,得到所述第一校验序列。
20.在一种可能的实现方式中,在所述第一缓存中数据的行数m大于所述第二缓存中
数据的列数n时,所述第二缓存中的数据包括额外的m-n列全0数据,其中,m和n均为正整数。
21.在一种可能的实现方式中,所述第一信息序列和所述第二信息序列的长度为512
×
478比特,所述第一校验序列和所述第二校验序列的长度为512
×
32比特。
22.本技术实施例提供的编码装置最终输出的序列中包含的信息序列和校验序列,相对于阶梯码编码器产生的信息序列和校验序列都打乱了位置(也就是进行交织),因此,可以起到降低噪声相关性的作用,而且sedd无需对信息序列进行交织,编码的复杂度和功耗并不高。
附图说明
23.图1为通信系统的结构框图;
24.图2为本技术实施例提供的编码装置的结构框图;
25.图3为本技术另一实施例提供的sedd的结构框图;
26.图4为本技术另一实施例提供的sedd中的交织表;
27.图5(a)为本技术另一实施例提供的编码装置的结构框图;
28.图5(b)为本技术另一实施例提供的编码装置的结构框图;
29.图6(a)为本技术另一实施例提供的编码装置的结构框图;
30.图6(b)为本技术另一实施例提供的编码装置的结构框图;
31.图7为本技术另一实施例提供的编码方法流程图;
32.图8为本技术实施例提供的编码装置的结构框图。
具体实施方式
33.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
34.图1示出通信系统的结构框图,在发送端,信源提供待发送的数据流;编码器接收该数据流,并对其进行编码,将编码后的数据流发给发送器,发送器将编码后的数据流通过信道发送给出去。在接收端,接收器接收该编码后的数据流,通过译码器将其译码,恢复出原有数据,发给信宿。其中,本技术提供的编码方法用于图1所示的编码器中,是通信系统中非常重要的一环。
35.本技术实施例提供一种编码装置,如图2所示,包括:(staircase error de-correlator interleaver,sedi)阶梯码误码去相关解交织器210,阶梯码编码器220,(staircase error de-correlator de-interleaver,sedd)阶梯码误码去相关解交织器230和输出单元240,
36.sedi 210,用于接收第一信息序列,将该第一信息序列进行sedi处理,得到第二信息序列;
37.阶梯码编码器220,用于对第二信息序列进行阶梯编码,得到第一校验序列。
38.具体的,该阶梯码编码器220包括第一缓存和第二缓存,其中,第一缓存存储当前时刻的第二信息序列,第二缓存存储前一时刻在第一缓存中存储的数据;该阶梯码编码器将第一缓存中的第m行数据和第二缓存中的第n列数据进行编码,得到第m校验数据,将第m校验数据写入第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;将第一缓存中的校验数据读出,得到第一校验序列。
39.假设第二信息序列为512行
×
478列,且m=3,n=1,则第一缓存中的第3行数据与第二缓存中的第1列数据共同组成478 512=990比特的数据,对该990比特的数据进行(bose-chaudhuri-hocquenghem,bch)编码,得到长度为1022比特的bch码字,其中,多出来的32比特信息即为第3校验数据,将第3校验数据存入第一缓存的第3行中;以此类推,得到512个32比特的校验数据,分别存入第一缓存的512行中,这里m的取值对应唯一的n的取值,对应关系是预先写好的。
40.值得注意的是,第二缓存存储的是前一时刻在第一缓存中存储的所有数据,也就是说,第二缓存包括了前一时刻在第一缓存中存储的信息数据和校验数据,即第二缓存中的数据为512行
×
510列。此时,第一缓存中数据的行数512大于第二缓存中数据的列数510,第二缓存中的数据列数少了两列,则在第二缓存的数据中增加额外的2列全0数据,将第二缓存中的列数补齐,这样,在当前时刻,就可以得到512个32比特的校验数据。
41.sedd 230,用于对第一校验序列进行sedd处理,得到第二校验序列。具体的,sedd 230是以比特为单位对第一校验序列进行sedd处理的;其中,sedd 230包括第一12级交织器301,分组交织器302,第二12级交织器303和控制器304,如图3所示。该第一12级交织器301包括了12个串联的交织器,共同构成如图4所示的交织表,每64比特的第一校验序列进行交织,经过图3所示的交织表后,得到64比特打乱位置顺序的第一信息序列;值得注意的是,图4中用1-64表示第一校验序列中的64比特,用0-63表示交织之后的比特的位置。其中,控制器304可以产生十二位的二进制控制数据p1_cnt(取值范围为1到4095),来控制第一12级交织器包括的12个串联交织器中的哪一个或多个交织器起作用;例如当p1_cnt=1(00000000 0001)时,前11个交织器不起作用,只有第12交织器工作,反应在图4所示的交织表上,即1-11列不起作用,只关注第12列即可。此时,第一校验序列的第1个比特经过交织之后,第1行第12列的数值为4,表示换到第5个比特的位置;第一校验序列的第2个比特经过交织之后,第2行第12列的数值为11,表示换到第12个比特的位置;以此类推,将每64比特的第一校验序列进行交织,得到打乱顺序的第一校验序列。当p1_cnt=3(0000 0000 0011)时,前10个交织器不起作用,只有第11和第12交织器工作,此时,可以只看图4中的11-12列,第一校验序列的第1个比特先经过第11交织器交织,第1行第11列的数值为14,表示换到第15个比特的位置,然后第15比特再经过第12交织器,第15行第12列的数值为47,表示换到第48个比特的位置,即第一校验序列的第1个比特经过第一12级交织器之后,会被换到第48个比特的位置,依次类推,将每64比特的第一校验序列进行交织,得到打乱顺序的第一校验序列。
42.值得注意的是,该第一12级交织器301是时变的,时变周期为5,也就是说,图4所示的交织表只是第一12级交织器301包括的五张交织表中的一个,对一组64比特的第一校验序列交织完之后,就会切换到下一张交织表,依次循环。
43.分组交织器302,用于将经过第一12级交织器301之后的第一校验序列进行“行进列出”的交织操作;仍以第一信息序列为512行
×
478列为例,则经过阶梯码编码器220之后,第一校验序列的长度应为512行
×
32列,即16384比特。可以将第一校验序列分为256组长度为64比特的序列,每组64比特序列经过第一12级交织器301进行交织,将交织后的数据发送分组交织器302;分组交织器302将交织后的数据分为8组,每组2048个比特,依次对8组数据进行行列交织,将行列交织后的数据发给第二12级交织器303,其中,每组数据的行列交织方式如下:先按行写入分组交织器302,每行64比特,共32行;读取时,就按列来读,输出序列
的前32个比特来自于第一列,第33-64比特来自于第二列,以此类推。
44.第二12级交织器303,用于将分组交织器302输出的序列再进行一次交织处理,得到第二校验序列。其中,第二12级交织器303与第一12级交织器301结构相同,区别在于第二12级交织器303中的交织表与第一12级交织器301中的交织表是不同的。进一步地,在控制第二12级交织器303工作时,控制器304产生的十二位的二进制控制信号p2_cnt的取值范围是:1到(4095-41)。
45.值得注意的是,sedi的交织功能与sedd的交织功能是可逆的,进入sedi的数据依次进入第三12级交织器,分组交织器及第四12级交织器进行交织,并输出,其中,第三12级交织器执行第二12级交织器的逆操作,第四12级交织器执行第一12级交织器的逆操作,sedi的分组交织器执行sedd的分组交织器的逆操作。
46.具体的,下面描述一下sedi中的分组交织器的执行过程。由于进入sedi中的分组交织器的数据长度为512
×
478=244736比特,将该244736比特分为8组,每组30592比特,对该30592比特的数据执行如下操作:将该30592比特的数据分为12组,前11组包括40
×
64比特,按列写入分组交织器,每列40个比特,共64列;第12组包括38
×
64比特,同样按列写入分组交织器,每列38比特,共64列;读取的时候是按行读出,先将第一行的64比特读出,再读第二行,依次类推。sedi的分组交织器将8组30592比特数据依次执行“列进行出”的交织之后,将交织后的数据发给第四12级交织器。
47.输出单元240,用于接收第一信息序列,将第二校验序列和第一信息序列合并输出;或接收下一时刻的第一信息序列,将第二校验序列和下一时刻的第一信息序列合并输出。
48.具体的,针对输出单元240将第二校验序列和第一信息序列合并输出的情况,输出单元240包括缓存单元541和合并单元542,如图5(a)所示,该缓存单元用于存储第一信息序列,等到sedd 230输出第二校验序列之后,再通过合并单元将第二校验序列和第一信息序列合并输出,或者输出单元240包括延迟单元543和合并单元542,如图5(b)所示,该延迟单元543对第一信息序列进行延迟,再通过合并单元542将第二校验序列和第一信息序列合并输出,具体的延迟时间为:第一信息序列进入编码装置的时间与第二校验序列产生时间之间的差值,再减去第一信息序列输出所需要的时间。此时,第一信息序列输出之后,第二校验序列接着输出,无需额外增加缓存。
49.进一步地,针对输出单元240将第二校验序列和下一时刻的第一信息序列合并输出的情况,输出单元240可以包括缓存单元641和合并单元642,如图6(a)所示,该缓存单元641用于存储第二校验序列,等到输出单元240接收到下一时刻的第一信息序列之后,再通过合并单元642将第二校验序列和下一时刻的第一信息序列合并输出,或者输出单元240包括延迟单元643和合并单元642,如图6(b)所示,该延迟单元643对第二校验序列进行延迟,再通过合并单元642将第二校验序列和下一时刻的第一信息序列合并输出,具体的延迟时间为:第二校验序列的产生时间与下一时刻第一信息序列从编码装置输出的时间之间的差值。此时,下一时刻的第一信息序列输出之后,当前时刻的第二校验序列接着输出,无需额外增加缓存。
50.本实施例提供的编码装置最终输出的序列中包含的信息序列和校验序列,相对于阶梯码编码器产生的信息序列和校验序列都打乱了位置(也就是进行交织),因此,可以起
到降低噪声相关性的作用,而且sedd无需对信息序列进行交织,编码的复杂度和功耗并不高。
51.本技术另一实施例提供一种编码方法,如图7所示,包括:
52.701、接收第一信息序列,将第一信息序列进行sedi处理,得到第二信息序列。
53.702、对第二信息序列进行阶梯编码,得到第一校验序列。
54.703、对第一校验序列进行sedd处理,得到第二校验序列。
55.704、将第二校验序列和第一信息序列合并输出;或接收下一时刻的第一信息序列,将第二校验序列和下一时刻的第一信息序列合并输出。
56.其中,sedi和sedd的交织方式在前面的装置实施例中已经详细描述过,本实施例在此不再赘述。
57.可选地,当前时刻的第一信息序列在第一缓存中存储,前一时刻在第一缓存中存储的数据在第二缓存中存储;步骤702具体包括:将第一缓存中的第m行数据和第二缓存中的第n列数据进行编码,得到第m校验数据,将第m校验数据写入第一缓存的第m行中,其中,m和n均为整数,且m的取值对应唯一的n的取值;再将第一缓存中的校验数据读出,得到第一校验序列。
58.进一步地,在第一缓存中数据的行数m大于第二缓存中数据的列数n时,第二缓存中的数据包括额外的m-n列全0数据,其中,m和n均为正整数。
59.可选地,将第二校验序列和第一信息序列合并输出,具体包括:存储第一信息序列,等到得到第二校验序列之后,再将第二校验序列和第一信息序列合并输出,或者对第一信息序列进行延迟,再将第二校验序列和第一信息序列合并输出,具体的延迟时间为:第一信息序列进入编码装置的时间与第二校验序列产生时间之间的差值,再减去第一信息序列输出所需要的时间。此时,第一信息序列输出之后,第二校验序列接着输出,无需额外增加缓存。
60.可选地,将第二校验序列和下一时刻的第一信息序列合并输出,具体包括:存储第二校验序列,等接收到下一时刻的第一信息序列之后,再将第二校验序列和下一时刻的第一信息序列合并输出,或者对第二校验序列进行延迟,再将第二校验序列和下一时刻的第一信息序列合并输出,具体的延迟时间为:第二校验序列的产生时间与下一时刻第一信息序列从编码装置输出的时间之间的差值。此时,下一时刻的第一信息序列输出之后,当前时刻的第二校验序列接着输出,无需额外增加缓存。
61.在本实施例提供的编码方法中,最终输出的序列中包含的信息序列和校验序列,相对于编码产生的信息序列和校验序列都打乱了位置(也就是进行交织),因此,可以起到降低噪声相关性的作用,而且步骤703中无需对信息序列进行交织,编码的复杂度和功耗并不高。
62.本技术另一实施例提供一种编码装置800,如图8所示,包括:输入接口801,处理器802和输出接口803;处理器802,用于通过输入接口801接收第一信息序列,通过输出接口803发送合并后的序列,以及实施上述实施方式中级联编码装置800所实施的各步骤及功能,此处不再赘述。
63.本技术提实施例供了一种计算机可读存储介质或者计算机程序产品,用于存储计算机程序,该计算机程序用于执行上述方法实施例中涉及的编码方法。
64.可以理解的是,图8仅仅示出了编码装置的简化设计。在实际应用中,编码装置可以包含任意数量的接口和处理器等,而所有可以实现本技术实施例的终端都在本技术实施例的保护范围之内。
65.进一步可以理解的是,在本技术实施例中涉及的处理器可以是中央处理单元(central processing unit,简称为“cpu”),还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
66.应理解,说明书通篇提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。在本发明的各种实施例中,上述各过程的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
67.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
68.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
69.总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献