📄 test.m
字号:
clear;for h=1:10platform.max_backoff_num=2*h;platform.ch_idle_prob=0.3;for u=1:20000% Probability of Idle channel upon clear channel accessementplatform.ch_busy_prob=1-platform.ch_idle_prob;% Maximum number of random backoff for channel busy% Unit time for random backoffplatform.unit_backoff=1*(10^-3); % (1) msecCoff=0;% for k=1:platform.max_backoff_num% Coff=Coff+(2*platform.ch_busy_prob)^(k)-platform.ch_busy_prob^(k);% % Coff=Coff+(2*platform.ch_busy_prob)^(k);% end% platform.avg_listen_delay=platform.unit_backoff*(Coff*(1-platform.ch_busy_prob)/platform.ch_busy_prob);% platform.avg_listen_delay=platform.avg_listen_delay+(1+platform.ch_busy_prob^platform.max_backoff_num);A=2*(1-(2*platform.ch_busy_prob)^platform.max_backoff_num)... *(1-platform.ch_busy_prob)/(1-2*platform.ch_busy_prob)-(1-(platform.ch_busy_prob)^platform.max_backoff_num);B=(platform.ch_busy_prob^platform.max_backoff_num)*(2^platform.max_backoff_num-1);platform.avg_listen_delay=platform.unit_backoff*(A+B);avg_listen_delay_simul=0;len_backoff=0;backoff_listen_energy=0;Is_channel_IDLE=0;m=1;i=1;while (Is_channel_IDLE==0) len_backoff=platform.unit_backoff*uniform_gen(0,2^m);% len_backoff=platform.unit_backoff*2^(m-1);len_backoff_log(i)=len_backoff;i=i+1; avg_listen_delay_simul=avg_listen_delay_simul+len_backoff; Is_channel_IDLE=bern_gen(platform.ch_idle_prob); m=m+1; if(m> platform.max_backoff_num) break; endendplatform.avg_listen_delay_simul=avg_listen_delay_simul; avg_listen_delay_simul_log(u)=avg_listen_delay_simul;% disp(['simul: ',num2str(platform.avg_listen_delay_simul)]);% disp(['thy: ',num2str(platform.avg_listen_delay)]);end disp(['simul: ',num2str(mean(avg_listen_delay_simul_log))]); disp(['thy: ',num2str(platform.avg_listen_delay)]); mean_num_thy(h)=platform.avg_listen_delay; mean_num(h)=mean(avg_listen_delay_simul_log);A_log(h)=A;endplot(mean_num);hold on;plot(mean_num_thy,'r');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -