一种基于排序的OFDMA时频区域分配方法与流程

专利2022-05-10  40


一种基于排序的ofdma时频区域分配方法
技术领域
1.本发明涉及无线通信领域,尤其涉及一种ofdma通信系统中将待发送数据映射到时频二维区域的分配方法。


背景技术:

2.随着海量多媒体新业务的出现和广泛应用,无线通信中有限资源的高效利用成为急需。在ofdma系统中,无线信道被划分时频二维矩阵区域。调度出的数据要在ofdma信道上传输,需要被排列到该时频二维区域上,这种排列过程被称为ofdma时频二维区域数据映射,高效的区域分配方法能够提高信道利用率,减少数据调度与发送时延,是信道资源共享使用的重要因素。
3.传统的区域映射分配方法将二维时频区域预先划分为不同大小的固定区域,根据待发送数据包的大小,与固定区域进行匹配,这种方法的效率取决于待发送数据包大小与固定区域大小的匹配程度,大多数情况不能做到完全匹配,从而导致区域资源浪费,信道利用率低。
4.本发明提出一种基于排序的ofdma时频区域分配方法,将用户待发送的数据包按所需时隙数降序排列形成“待分配队列”,将ofdma二维区域按列设置为“可用时隙队列”,将“待分配队列”的数据包按列向“可用时隙队列”指向的二维区域映射分配,将映射产生的剩余非整列时隙按降序放入“可用时隙队列”的队尾,通过按需分配完成所有区域的数据映射。此方法避免了区域资源浪费,提高了信道使用效率。


技术实现要素:

5.(一)解决的技术问题ofdma系统中时频二维区域分配方法的优劣对无线信道资源利用效率产生影响,为减少数据调度与发送时延,提高信道利用率,避免区域资源浪费,本发明提供一种基于排序的ofdma时频区域分配方法。
6.(二)技术方案本发明的目的是克服现有二维资源映射方法匹配度较差,资源利用率低等问题,提出了一种基于排序的ofdma时频区域分配方法,该方法针对长为s(符号数)、宽为f(子载波数)的时频二维矩阵区域(f, s)数据分配映射需要,首先将用户待发送的数据包根据一定的调制方式和编码效率,计算出其所需时隙数;将每个数据包所需时隙数降序排列形成“待分配队列”;然后将ofdma二维区域按列设置为“可用时隙队列”,一列为一个符号上包含所有子载波的全部时隙,共s列,每列包含f个子载波上的所有时隙;最后将“待分配队列”的数据包按列向“可用时隙队列”指向的二维区域映射分配,每完成一个数据包分配,将映射产生的剩余非整列时隙按降序放入“可用时隙队列”的队尾,并在“可用时隙队列”中删除已分配的列,然后开始“待分配队列”中下一个数据包的分配;当完整整列资源全部分配完后,再依次分配剩余非整列降序排列的时隙,直至可用时隙或待发送数据包分配完毕。
7.(三)有益效果本发明首先将大于等于一列的请求进行映射,在减少控制单元数量的同时能够减少排序时间;然后将剩余的请求按照优先级和请求大小降序排列,并根据优先级排序将这些请求进行映射,从而减少调度与发送时间。
附图说明
8.图1 数据映射流程图;图2 待分配队列中38映射分配后情况;图3 多个大于整列资源分配后情况;图4 非整列资源分配情况(1);图5 非整列资源分配情况(2);图6 分配映射后情况。
具体实施方式
9.为使本发明的目的和优点更加清楚,下面结合附图和实例说明。
10.如图1所示,数据映射流程具体步骤如下:步骤s1:计算一帧可用于发送数据的总时隙数t
共有
,t
共有
=f*s,f为子载波个数,s为符号个数;步骤s2:计算待发送的数据包i所需要的时隙数ai,ai=ceil(bi/mi),bi为第i个数据包的字节数,mi为根据调制方式和编码效率确定的第i个数据包的单时隙承载字节数,ceil为向上取整;步骤s3:将每个数据包所需时隙数按先后顺序累加求和为所需总时隙数t
共需
;步骤s4:判断所需总时隙数t
共需
是否大于等于一帧可用于发送数据的总时隙数t
共有
,若是进入(s5),若否则转到(s2);步骤s5:按照所需时隙数从大到小的顺序将a
i
(a1,a2,

,a
m
)排序为“待分配队列”t
i
(t1,t2,

,t
m
),m为步骤(s3)中累加的数据包个数;步骤s6: 设置“可用时隙队列”的初始状态为s个队列节点,每个节点记录的时隙个数为f
n = f,n为1至s;步骤s7: 按先后顺序从“待映射队列”取出待分配请求t
i
,并将该请求分解为t
i = x
i * f y
i
式,f为子载波数,x
i
为所需的整列符号数,y
i
为不足整列的时隙数;步骤s8: 判断x
i
是否大于0,若是,进入(s9);若否,转到(s10);步骤s9: 在矩形时频二维资源f*s中,按从左到右的顺序,分配x
i
1列用于发送t
i
,并将表示这x
i
1列的节点从“可用时隙队列”中删除,转到(s14);步骤s10: 在“可用时隙队列”中,按队尾至队头的顺序查找第一个f
n
≥y
i
的节点;步骤s11:判断是否能找到f
n
≥y
i
的节点,若是,转到(s13);若否,进入(s12);步骤s12:分配“可用时隙队列”中的第一个节点表示的所有时隙给y
i
中的f
n
个时隙,并将该节点从“可用时隙队列”中删除,生成一个控制单元ie,用于指示y
i
中fn个时隙的分配情况,然后设置y
i
=y
i

f
n
,转至(s10);步骤s13:分配f
n
中从上至下的y
i
个时隙用于发送y
i
,并将该节点从“可用时隙队
列”中删除;步骤s14:判断f
n

y
i
是否大于2,若是,进入(s15);若否,剩余的小于等于2个的时隙不再用于分配,转至(s19);步骤s15:将f
n

y
i
加入“可用时隙队列”,该队列按时隙数多少的降序排列;步骤s16:判断xi是否大于0,若x
i
>0,进入(s17);若x
i
=0,转至(s18);步骤s17:生成两个控制单元ie,一个ie用于指示共x
i
列的分配情况,另一个ie用于指示y
i
的分配情况,转至(s20);步骤s18:生成一个控制单元ie,用于指示y
i
的分配情况,转至(s20);步骤s19:生成一个控制单元ie,用于指示共x
i
1列的分配情况;步骤s20:判断“可用时隙队列”是否为空,若为空,表明没有可以用于分配的时隙,进入(s21);若不为空,表明还有时隙可以用于分配,转至(s7);步骤s21:将未被分配的t
i
和y
i
所对应的数据包或数据包剩余部分纳入下一帧分配,本帧分配结束。
11.为使本发明的目的和优点更加清楚,下面结合附图2—6,举例说明数据包映射到时频二维区域的分配过程:1、假定在ofdma系统中,存在一个子载波个数为15,符号数为12的时频二维区域,则该帧可用于发送数据的总时隙数t
共有
=15*12=180,15为子载波个数,12为符号个数。
12.2、待发送的数据包的字节数为bi(218、495、87、35、801、250、902、198、46、696、79),假定根据以下(qam16_cc_1_2、qam16_cc_3_4、qpsk_cc_3_4、qpsk_cc_1_2、qam64_cc_3_4、qam64_cc_2_3、qam64_cc_2_3、qam64_cc_3_4、qam16_cc_1_2、qam64_ctc_5_6、qam64_ctc_5_6)调制方式和编码效率,按照ai=ceil(bi/mi)(ceil为向上取整)方式,计算单个数据包的单时隙承载字节数ai。计算过程为:218/12=19、495/18=28、87/9=10,以此类推,计算出待发送数据包所需时隙数ai为19、28、10、6、30、11、38、8、4、24、3。
13.3、将每个数据包所需时隙数按先后顺序累加求和为所需总时隙数t
共需
=19 28 10 6 30 11 38 8 4 24 3=181。
14.4、t
共需
=181,t
共有
=180,t
共需
>t
共有
,开始数据映射。
15.5、按照所需时隙数从大到小的顺序将a
i
(19、28、10、6、30、11、38、8、4、24、3)进行排序。排序后的“待分配队列”为(38、30、28、24、19、11、10、8、6、4、3),“可用时隙队列”为(15、15、15、15、15、15、15、15、15、15、15、15)。
16.6、从“待分配队列”中取出第一个待分配请求38,并将该请求按照t
i = x
i * f y
i
公式分解为38=2*15 8(2为所需的整列符号数,8为不足整列的时隙数)。
17.7、因为所需的整列符号数2>0、不足整列的时隙数8>0,所以在矩形时频二维资源f*s中,按从左到右的顺序,分配3列用于发送38,并将表示这3列的节点从“可用时隙队列”中删除。
18.8、分配8后,该列余下时隙数为15

8=7,因为7>2,所以将余下可用时隙数7加入“可用时隙队列”。此时,“可用时隙队列”按时隙数多少的降序排列后为(15、15、15、15、15、15、15、15、15、7)。
19.9、因为整列符号数2>0,所以生成2个控制单元ie。一个ie用于指示2列的分配情况,另一个ie用于指示分配后不足整列的时隙数7的分配情况。
20.分配完38后的“待分配队列”为(30、28、24、19、11、10、8、6、4、3),分配后的矩形时频二维图如图2所示。
21.10、因为此时“可用时隙队列”不为空,所以再从“待分配队列”中取出30,按照t
i = x
i * f y
i
公式分解为30=2*15 0(3为所需的整列符号数,0为不足整列的时隙数),因为所需的整列符号数3>0、0=0,所以在矩形时频二维资源f*s中,按从左到右的顺序,分配2列用于发送30,并将这2列从“可用时隙队列”中删除。因为分配后这2列的剩余时隙数为0,所以生成1个控制单元ie,用于指示这2列的分配情况。
22.分配完30后的“待分配队列”为(28、24、19、11、10、8、6、4、3),并按此方法,依次将28、24、19进行分配,分配后的矩形时频二维图如图3所示。
23.11、分配后的“可用时隙队列”按时隙数多少的降序排列后为(15、11、7、6)。此时“可用时隙队列”不为空,再从“待分配队列”中取出11,按照t
i = x
i * f y
i
公式分解为11=0*15 11。因所需时隙数不够整列,因此在“可用时隙队列”中,按队尾至队头的顺序查找第一个时隙数≥11的节点,找到后从上至下分配11个时隙,并将该节点从“可用时隙队列”中删除。因所需时隙数不够整列,所以生成1个控制单元ie,用于指示11的分配情况。
24.分配完11后的“待分配队列”为(10、8、6、4、3),并按此方法,将10进行分配,分配后的“待分配队列”为(8、6、4、3),分配后的矩形时频二维图如图4所示。
25.12、分配后的“可用时隙队列”按时隙数多少的降序排列后为(7、6、5)。此时“可用时隙队列”不为空,再从“待分配队列”中取出8,按照t
i = x
i * f y
i
公式分解为8=0*15 8。因所需时隙数不够整列,因此在“可用时隙队列”中,按队尾至队头的顺序查找第一个时隙数≥8的节点。但未找到≥8的节点,因此分配“可用时隙队列”中的第一个节点表示的所有7个时隙,并将该节点从“可用时隙队列”中删除。此时“可用时隙队列”为(6、5)。
26.生成一个控制单元ie,用于指示已分配的7个时隙的情况,然后计算余下未分配时隙数为8

7=1。继续在“可用时隙队列”中,按队尾至队头的顺序查找第一个≥1的节点,找到后从上至下分配1个时隙,并将该节点从“可用时隙队列”中删除。因所需时隙数不够整列,所以生成1个控制单元ie,用于指示1的分配情况。
27.分配完8后的“可用时隙队列”为(6、4),分配后的矩形时频二维图如图5所示。
28.13、此时“可用时隙队列”不为空,再从“待分配队列”中取出6,按照t
i = x
i * f y
i
公式分解为6=0*15 6。因所需时隙数不够整列,因此在“可用时隙队列”中,按队尾至队头的顺序查找第一个时隙数≥6的节点,找到后从上至下分配6个时隙,并将该节点从“可用时隙队列”中删除。因所需时隙数不够整列,所以生成1个控制单元ie,用于指示6的分配情况。
29.分配完6后的“待分配队列”为(4、3),“可用时隙队列”为(4),并按此方法,将4进行分配。
30.14、分配完4后的“待分配队列”为(3),但“可用时隙队列”为空,因此将未被分配的3和所对应的数据包纳入下一帧分配,本帧分配结束。本帧最终分配结果如图6所示。
31.综上所述,以上仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
转载请注明原文地址:https://doc.8miu.com/index.php/read-1722171.html

最新回复(0)