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

📄 updatequeue-bakup.m

📁 ofdm系统当中的接纳控制技术 程序当中有三种接纳控制算法的对比 都是基于ofdm系统的
💻 M
字号:
function [TotalPacketNum,QueueLength,QueueEnd,FrameIntervalTimer,PacketIntervalTimer,PacketNumInCurrentFrame] = ...UpdateQueue(ATTotalPacketNum,ATPacketNumInCurrentFrame,ATFrameIntervalTimer,ATPacketIntervalTimer,ATTrafficType,Slot,SlotTime,N,ATDataArriveRate,ATQueueLength,End,ATActive)global ATQueue;QueueLength = ATQueueLength;QueueEnd = End;FrameIntervalTimer = ATFrameIntervalTimer;PacketIntervalTimer = ATPacketIntervalTimer;PacketNumInCurrentFrame = ATPacketNumInCurrentFrame;TotalPacketNum = ATTotalPacketNum;MaxArrayLength = 5000;queueIndex = mod(Slot-1,MaxArrayLength)+1;for a = 1:N    if ATActive(1,a) == 1        if ATTrafficType(a) == 4    %video traffic,不同业务产生packet方式不一样            if FrameIntervalTimer(a) > 0  %当前frame还没有结束                FrameIntervalTimer(a) = FrameIntervalTimer(a) - 1;                if PacketNumInCurrentFrame(a) < 8 % 当前frame还需要产生packet                    if PacketIntervalTimer(a) == 0 %generate a new packet and set the next packet arrival interval                        ATQueue(queueIndex,a) = floor(8*pareto(1.2,20,125));                        QueueLength(a) = QueueLength(a) + ATQueue(queueIndex,a);                        QueueEnd(a) = Slot;                        PacketIntervalTimer(a) = floor(1e-3 * pareto(1.2,2.5,12.5)/SlotTime);                        PacketNumInCurrentFrame(a) = PacketNumInCurrentFrame(a) + 1;                        TotalPacketNum(a) = TotalPacketNum(a) + 1;                    else                        PacketIntervalTimer(a) = PacketIntervalTimer(a) - 1;                                            end                end            else    %当前frame结束                FrameIntervalTimer(a) = floor(100 * 1e-3 / SlotTime);                PacketNumInCurrentFrame(a) = 1;                ATQueue(queueIndex,a) = floor(8*pareto(1.2,20,125));                QueueLength(a) = QueueLength(a) + ATQueue(queueIndex,a);                QueueEnd(a) = Slot;                PacketIntervalTimer(a) = floor(1e-3 * pareto(1.2,2.5,12.5)/SlotTime);                TotalPacketNum(a) = TotalPacketNum(a) + 1;            end        end        if ATTrafficType(a) == 2            NumOfBit = floor(ATDataArriveRate(a) * SlotTime);            ATQueue(queueIndex,a) = NumOfBit;            QueueLength(a) = ATQueueLength(a) + NumOfBit;            End(a) = Slot;        end    endend    

⌨️ 快捷键说明

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