⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updatequeueafterschedule.m

📁 ofdm系统当中的接纳控制技术 程序当中有三种接纳控制算法的对比 都是基于ofdm系统的
💻 M
字号:
function [QueueLength,QueueFront] = ...UpdateQueueAfterSchedule(ATTrafficType,ATDelayRequire,N,Slot,SimTime,ATRate,  ATQueueLength, ATQueueFront,ATQueueEnd, SlotTime)global ATQueue;OutData = floor(ATRate * SlotTime);QueueLength = ATQueueLength;QueueFront = ATQueueFront;QueueEnd = ATQueueEnd;global ATDelay;global ATPacketDropNum;MaxArrayLength = 5000;% arrayIndex = mod(Slot-1,MaxArrayLength)+1;for a = 1:N  if ATTrafficType(a) == 4    if OutData(a) == 0        for packetIndex = QueueFront(a):QueueEnd(a)            temp = mod(packetIndex-1,MaxArrayLength)+1;            if ATQueue(temp,a) > 0;                if ATDelay(temp,a) == ATDelayRequire(a)-1 && ATTrafficType(a) == 4                    ATQueue(temp,a) = 0;                    QueueFront(a) = min(packetIndex+1,QueueEnd(a));%因为到达最大时延,RT业务丢失一个包                    ATPacketDropNum(a) = ATPacketDropNum(a) + 1;                else                    ATDelay(temp, a) = ATDelay(temp, a) + 1;                end            end        end%         continue;    else%     time = QueueFront(a);        while OutData(a) > 0 && OutData(a) >= (ATQueue(mod(QueueFront(a)-1,MaxArrayLength)+1,a))            OutData(a) = OutData(a) - ATQueue(mod(QueueFront(a)-1,MaxArrayLength)+1,a);            ATQueue(mod(QueueFront(a)-1,MaxArrayLength)+1,a) = 0;            QueueFront(a) = min(QueueFront(a) + 1,QueueEnd(a));        end        if QueueFront(a) < SimTime            ATQueue(mod(QueueFront(a)-1,MaxArrayLength)+1,a) = ATQueue(mod(QueueFront(a)-1,MaxArrayLength)+1,a) - OutData(a);        end        for packetIndex = QueueFront(a):QueueEnd(a)            temp = mod(packetIndex-1,MaxArrayLength)+1;            if ATQueue(temp,a) > 0;                if ATDelay(temp,a) == ATDelayRequire(a)-1 && ATTrafficType(a) == 4                    ATQueue(temp,a) = 0;                    QueueFront(a) = min(packetIndex+1,QueueEnd(a));%因为到达最大时延,RT业务丢失一个包                    ATPacketDropNum(a) = ATPacketDropNum(a) + 1;                else                    ATDelay(temp, a) = ATDelay(temp, a) + 1;                end            end        end    end  elseif ATTrafficType(a) == 2        end      %     Delay(Slot, a) = Slot - time;end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -