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

基于反馈喷泉码的文件传输方法与流程

2022-04-09 08:50:34 来源:中国专利 TAG:


1.本发明涉及卫星通信技术技术领域,特别涉及一种基于反馈喷泉码的卫星信道下的文件传输方法。


背景技术:

2.随着社会及科技的进步与发展,通信网络技术得到迅速发展与普及,在人们的日常生活中扮演着越来越重要的角色,传统的地面移动通信网络具备了比较固定的网络拓扑结构,稳定可靠的传输以及良好的服务质量。但是与此同时,传统地面网络的缺陷也非常显著,它不但需要依赖相关基础设施,且其通信覆盖范围受到限制,在许多的场景下受到限制。在这种情况下,宽带卫星通信技术应运而生,它不仅可以高速传输多媒体业务,而且具有覆盖面广、可部署性强、提供一体化网络、通信成本低廉显著优势。
3.但伴随着宽带卫星通信技术的不断推广,面对着日益增加的数据吞吐量,这对卫星通信系统的传输效率提出了新挑战,并且由于卫星通信信道具有的链路时延长、信道频繁中断等特点,传统的arq及fec的数据传输方法难以保障业务的可靠性及时效性需求。
4.喷泉码是让大量的数据在广播时可靠性得到保证而提出的。之后luby根据数字喷泉的概念,设计出第一种实用的喷泉码—lt码,随后基于lt码的研究不断向前推进。但译码开销始终比较高,这导致传输文件时需要较高的冗余才能完成。因此需要对喷泉码进行改进,使得其译码开销降低,以更好的应用于未来的卫星通信场景。


技术实现要素:

5.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
6.为此,本发明的目的在于提出一种基于反馈喷泉码的卫星信道下的文件传输方法,该方法解决了现有arq重传方法用在卫星信道中,由信道频繁中断、高丢包率所造成的反馈风暴问题。
7.为达到上述目的,本发明实施例提出了基于反馈喷泉码的卫星信道下的文件传输方法,包括以下步骤:
8.发送端:步骤s1,所述发送端读取文件并对读取的文件分包,将分好的数据包传入编码器,初始化喷泉码中编码的度值为2;步骤s2,当所述编码器接收到所述数据包的数量和度值,采用喷泉码对所述数据包进行编码,并利用udp协议将编码后的数据包发送至接收端;步骤s3,判断是否接收到所述接收端的反馈,若是,则执行步骤s4,反之执行步骤s2;步骤s4,判断所述反馈的类型,若接收到ack的反馈,则译码成功,传输完成,结束;若接收到最优度值的反馈,则在所述编码器中将度值修改为最优度值,执行步骤s2;
9.接收端:步骤s5,利用udp协议接收所述编码后的数据包,并将发送给反馈喷泉码译码器;步骤s6,利用所述反馈喷泉码译码器对所述编码后的数据包进行译码,并判断是否译码成功,若成功,则向所述发送端发送ack,反之执行步骤s7;步骤s7,根据译码状态计算当前编码最优度值,并根据所述当前编码最优度值判断是否需要向所述发送端反馈信息,
若需要,则通过反馈信道将所述当前编码最优度值发送给所述发送端,反之执行步骤s5。
10.本发明实施例的基于反馈喷泉码的卫星信道下的文件传输方法,能够解决了由于卫星通信信道具有链路时延长、信道频繁中断等特点,而导致数据传输误码率高的问题,高效可靠的传输文件;也可在信道丢包率为10%,信道延时为500ms的情形下,使用0.25的冗余即可完成文件传输可靠性的要求,在丢包率为1%的情形下,使用0.1的冗余即可完成文件传输可靠性的要求,在信道丢包率为0.1%的情形下,使用0.05的冗余即可完成可靠性的要求,即使用较低的冗余即可对抗丢包问题,也降低了数据传输误码率;另外,能够适应多种文件的传输要求,包括文本文件,图片,视频等文件传输,且能够在不同的平台,windows系统和linux系统下通用,具有可移植性。
11.另外,根据本发明上述实施例的基于反馈喷泉码的卫星信道下的文件传输方法还可以具有以下附加的技术特征:
12.进一步地,在本发明的一个实施例中,所述步骤s2中接收到所述数据包的数量和度值后,所述编码器随机均匀的选取与度值大小相等个数的数据包,再对所述d个数据包进行包异或操作,生成一个新的编码数据包。
13.进一步地,在本发明的一个实施例中,所述步骤s2中利用udp协议将编码后的数据包发送至接收端的具体过程为:在所述发送端建立一个socket套接字,将socket套接字与计算机ip地址和计算机ip端口号绑定,在计算机ip端口监听服务请求,接收待传输的所述编码后的数据包,未得到所述接收端发出请求前先进行堵塞,当所述接收端发出请求后,将所述编码后的数据包发送。
14.进一步地,在本发明的一个实施例中,所述步骤s5中利用udp协议接收所述编码后的数据包的具体过程为:在所述接收端建立一个socket套接字,将socket套接字与计算机ip地址和计算机ip端口号绑定,在计算机ip端口监听服务请求,所述接收端发送请求,当所述发送端接收到所述接收端的请求做出应答,并传送所述编码后的数据包,当所述发送端完成数据传输,则关闭所述发送端的socket套接字并释放其内存和占用的计算机端口资源。
15.进一步地,在本发明的一个实施例中,所述反馈喷泉码译码器将接收到的所述所述编码后的数据包全部存入缓存,采用lt码的bp译码方法开始译码,全部译码完成为译码成功,否则为译码失败。
16.进一步地,在本发明的一个实施例中,所述步骤s7中计算当前编码最优度值t的具体过程为:通过所述反馈喷泉码译码器计算已经译码成功的数据包对于总包数的占比;根据所述占比分别求解任意一个度值的编码符号经过译码后变成度值为1的概率和度值为2的概率;将不同度值变成度值为1的概率和度值为2的概率进行求和处理,筛选出和最大的度值作为所述当前编码最优度值。
17.进一步地,在本发明的一个实施例中,一个度值的编码符号经过译码后变成度值为1的概率p1(d,β)为:
[0018][0019]
其中,d为编码的度值,β为已经译码成功的数据包对于总包数的占比。
[0020]
进一步地,在本发明的一个实施例中,一个度值的编码符号经过译码后变成度值为2的概率p2(d,β)为:
[0021][0022]
其中,d为编码的度值,β为已经译码成功的数据包对于总包数的占比。
[0023]
进一步地,在本发明的一个实施例中,所述求和处理具体为:
[0024][0025]
其中,为不同度值变成度值为1的概率和度值为2的概率的和,d为编码的度值,p2(d,β)为一个度值d的编码符号经过译码后变成度值为1的概率,p2(d,β)为一个度值d的编码符号经过译码后变成度值为2的概率。
[0026]
进一步地,在本发明的一个实施例中,所述步骤s7中判断是否需要向所述发送端反馈信息的具体过程为:将所述当前编码最优度值与上一次的最优度值进行比较,若两次的度值相等,则不需要向所述发送端发射反馈信息,若两次的度值不等,则需要向所述发送端发射所述当前编码最优度值。
[0027]
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0028]
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0029]
图1是本发明一个实施例的基于反馈喷泉码的卫星信道下的文件传输方法发送端的流程图;
[0030]
图2是本发明一个实施例的基于反馈喷泉码的卫星信道下的文件传输方法接收端的流程图。
具体实施方式
[0031]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0032]
下面参照附图描述根据本发明实施例提出的基于反馈喷泉码的卫星信道下的文件传输方法。
[0033]
具体实施方式一:结合图1和图2说明本发明实施例,本发明实施例的基于反馈喷泉码的文件传输方法,对于发送端和接收端分别设计的,包括如下步骤:
[0034]
如图1和2所示,该基于反馈喷泉码的卫星信道下的文件传输方法包括以下步骤:
[0035]
发射端:
[0036]
在步骤s1中,发送端读取文件并对读取的文件分包,将分好的数据包传入编码器,初始化喷泉码中编码的度值为2。
[0037]
也就是说,发送端读取文件并对读取的文件分包,将分好的数据包传入编码器,然后初始化喷泉码中编码的度值d为2。
[0038]
其中,d为喷泉码中编码采取的度值,表示一个编码包由d个数据包异或生成。
[0039]
在步骤s2中,当编码器接收到数据包的数量和度值,采用喷泉码对数据包进行编码,并利用udp协议将编码后的数据包发送至接收端。
[0040]
一些实施例中,编码器得到数据包数量k,设定编码度值为d,采用喷泉码的方式随机均匀的选取d个信息数据包,将d个数据包采取包异或操作,生成一个新的编码数据包,再将这个新的编码数据包使用udp协议发送至接收端。
[0041]
需要说明的是,采取包异或操作的前提是每个包所包含的bit位数量相等,因此在分包时应保证每个包的大小相等,对于最后一个bit位数量较小的包,应该采取补“0”的措施使其与其他包大小相等。
[0042]
进一步地,另一些实施例中,编码后的数据包使用udp协议发送的具体过程为:在发送端,建立一个socket套接字,之后进行绑定操作,将套接字与计算机ip地址和计算机ip端口号绑定,在计算机ip端口监听服务请求,接收待传输的文件,未得到接收端发出请求前先进行堵塞,当接收端发出请求后,将文件发送出去。
[0043]
需要说明的是,为了适应不同的信道环境,使用udp协议发送时为了防止在接收端和中继节点处的缓存溢出,必须控制数据发送的速率,尤其是在信道环境较差的情况下,给中继节点留出足够的转发的时间,尽量减小由于中继节点缓存溢出而导致的丢包。
[0044]
在步骤s3中,判断是否接收到接收端的反馈,若是,则执行步骤s4,反之执行步骤s2。
[0045]
在步骤s4中,判断反馈的类型,若接收到ack的反馈,则译码成功,传输完成,结束;若接收到最优度值的反馈,则在编码器中将度值修改为最优度值,执行步骤s2。
[0046]
具体地,判断接收到的反馈类型;若接收到ack的反馈,表示译码成功,传输完成,结束;若接收到接收端发送的最优度值为t的反馈,则在编码器修改d=t,再执行步骤s2。
[0047]
接收端:
[0048]
在步骤s5中,利用udp协议接收编码后的数据包,并将发送给反馈喷泉码译码器。
[0049]
在一些实施例中,使用udp协议接收编码后的数据包的具体过程为:在接收端,建立一个socket套接字,之后选择绑定操作,将套接字与计算机ip地址和计算机ip端口号绑定,在计算机ip端口监听服务请求,接收端发送请求,发送端接收到接收端发送的请求做出应答并传送文件,发送端传输完数据后关闭发送端的socket套接字并释放发送端的内存和占用的计算机端口资源。
[0050]
在步骤s6中,利用反馈喷泉码译码器对编码后的数据包进行译码,并判断是否译码成功,若成功,则向发送端发送ack,反之则执行步骤s7。
[0051]
在一些实施例中,反馈喷泉码译码器接收到编码后的数据包后,将接收到的编码数据包全部存入缓存,采用lt码的bp译码方法开始译码。
[0052]
进一步地,先在所有的编码包中寻找度值为1的编码包,若没有,表示无法继续译码,等待新的编码包加入反馈喷泉码译码器;若有度值为1的编码包,则与其相连的信息数据包被译码。
[0053]
然后,将所有与此信息数据包相连的其它编码数据包与此信息数据包相异或生成
新的编码数据包,这些数据包的度值全部减少1,最后将此信息数据包加入译码成功包的集合内。反馈喷泉码译码器不断寻找度值为1的编码包译码,全部译码完成为译码成功,否则为译码失败。
[0054]
在步骤s7中,根据译码状态计算当前编码最优度值,并根据当前编码最优度值判断是否需要向发送端反馈信息,若需要,则通过反馈信道将当前编码最优度值发送给发送端,反之执行步骤s5。
[0055]
在一些实施例中,步骤s7中反馈喷泉码译码器根据接收包的情况更新译码状态,根据译码状态计算此时编码的最优度值t,具体过程为:译码器首先计算已经译码成功的包对于总包数k的占比,用β来表示,对于任意的一个度值d,用p1(d,β)表示度值为d的编码符号经过译码后变成度值为1的概率,用p2(d,β)表示度值为d的编码符号经过译码后变成度值为2的概率,则分别可由下式求得:
[0056][0057][0058]
然后,译码器对于不同的d值分别计算上述两式的和,取和最大的度值d为此时编码的最优度值t,计算式子如下:
[0059][0060]
求得的度值d为在此时译码器可以译码的概率最大的度值。
[0061]
进一步地,反馈喷泉码译码器将此时计算的最优度值t与上一次计算的最优度值进行比较,若两次的度值相等,则不需要给发送端反馈信息;若两次的度值不等,则需要给发送端反馈度值信息t。
[0062]
根据本发明实施例提出的基于反馈喷泉码的卫星信道下的文件传输方法,能够解决了由于卫星通信信道具有链路时延长、信道频繁中断等特点,而导致数据传输误码率高的问题,高效可靠的传输文件;也可在信道丢包率为10%,信道延时为500ms的情形下,使用0.25的冗余即可完成文件传输可靠性的要求,在丢包率为1%的情形下,使用0.1的冗余即可完成文件传输可靠性的要求,在信道丢包率为0.1%的情形下,使用0.05的冗余即可完成可靠性的要求,即使用较低的冗余即可对抗丢包问题,也降低了数据传输误码率;另外,能够适应多种文件的传输要求,包括文本文件,图片,视频等文件传输,且能够在不同的平台,windows系统和linux系统下通用,具有可移植性。
[0063]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0064]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0065]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

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

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

相关文献