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

📄 filter_ppc.m

📁 RFID系统密集读写PPC算法的设计和仿真
💻 M
字号:
clc;clear all;close all;
reader_m;

topodir = 'Topo';
ppcname = 'Results_PPC';
dapcname = 'Results_DAPC';
filterdir = 'Filter';

%%%%%%%%%%PPC%%%%%%%%%%%
% Calculating Mean, Standard Deviation for each senario


for m = 1:length(a)
    for runs = 1:length(nn)
        for mindists = 1:length(mindist)

            meanname = strcat(ppcname, '_MEAN_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)));
            stdname = strcat(ppcname, '_STD_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)));
            meanpercentage = strcat(ppcname, '_MEAN_PERCENTAGE_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)));   
            stdpercentage = strcat(ppcname, '_STD_PERCENTAGE_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)));
            meanpower = strcat(ppcname, '_MEAN_POWER_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)));
            meaninter = strcat(ppcname, '_MEAN_INTER_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)));
            
            meanname = strrep(meanname, '.', '_');
            stdname = strrep(stdname, '.', '_');
            meanpercentage = strrep(meanpercentage, '.', '_');
            stdpercentage=  strrep(stdpercentage, '.', '_');
            meanpower = strrep(meanpower, '.', '_');
            meaninter = strrep(meaninter, '.', '_');
            
            eval([meanname '= [];']);
            eval([stdname '= [];']);
            eval([meanpercentage '= [];']);
            eval([stdpercentage '= [];']);
            eval([meanpower '= [];']);
            eval([meaninter '= [];']);
            
            for j = 1:length(vars)  % for variations
                resultname = strcat('RANGE_OUT_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_V', int2str(vars(j)), '_a', num2str(a(m)), '_b', num2str(b(m)))
                load(strcat(ppcname, '/', resultname, '.mat'));
%                 resultname = strrep(resultname, '.', '_');
%                 eval([resultname '= range_out;']);
                eval([meanname '= [' meanname ' mean(mean(range_out, 2))];']);
                eval([stdname '= [' stdname ' std(mean(range_out, 2))];']);

                percentage = zeros(nn(runs), 1);
                eval(['for i=1:length(range_out)' ' for q = 1:nn(runs)' ' if range_out(q,i)>rd*tolerance' ' percentage(q) = (percentage(q)*(i-1) + 1)/i;' ' else' ' percentage(q) = percentage(q)*(i-1)/i;' ' end;' ' end;' ' end;']);

                eval([meanpercentage '= [' meanpercentage ' mean(percentage*100)];']);  
                eval([stdpercentage '= [' stdpercentage ' std(percentage*100)];']);

                resultname = strcat('POWER_OUT_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_V', int2str(vars(j)), '_a', num2str(a(m)), '_b', num2str(b(m)));
                load(strcat(ppcname, '/', resultname, '.mat'));
                eval([meanpower '= [' meanpower ' mean(mean(power_out, 2))];']);

                resultname = strcat('INTERFERENCE_OUT_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_V', int2str(vars(j)), '_a', num2str(a(m)), '_b', num2str(b(m)));
                load(strcat(ppcname, '/', resultname, '.mat'));
                eval([meaninter '= [' meaninter ' mean(mean(interference_out, 2))];']);           
            end

            eval([meanname '= mean(' meanname ');']);
            eval([stdname '= mean(' stdname ');']);
            eval([meanpercentage '= mean(' meanpercentage ');']);
            eval([stdpercentage '= mean(' stdpercentage ');']);
            eval([meanpower '= mean(' meanpower ');']);
            eval([meaninter '= mean(' meaninter ');']);
        end
     end
end

for m = 1:length(a)                     % for each method
    for mindists = 1:length(mindist)    % for varying density

        meanplot_ppc_name = strcat(filterdir, '/', ppcname, '_MEAN_RANGE_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');
        stdplot_ppc_name = strcat(filterdir, '/', ppcname, '_STD_RANGE_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');
        spplot_ppc_name = strcat(filterdir, '/', ppcname, '_STD_PERC_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');
        mpplot_ppc_name = strcat(filterdir, '/', ppcname, '_MEAN_PERC_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');        
        mpowerplot_ppc_name = strcat(filterdir, '/', ppcname, '_MEAN_POWER_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');        
        minterplot_ppc_name = strcat(filterdir, '/', ppcname, '_MEAN_INTER_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');        
        
        meanplot_ppc = [];
        stdplot_ppc = [];
        spplot_ppc = [];
        mpplot_ppc = [];
        mpowerplot_ppc = [];
        minterplot_ppc = [];
        
        for runs = 1:length(nn)              % for varying size
            tempname = strcat(ppcname, '_MEAN_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['meanplot_ppc = [meanplot_ppc ' tempname ']']);
            tempname = strcat(ppcname, '_STD_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['stdplot_ppc = [stdplot_ppc ' tempname ']']);
            tempname = strcat(ppcname, '_STD_PERCENTAGE_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['spplot_ppc = [spplot_ppc ' tempname ']']);
            tempname = strcat(ppcname, '_MEAN_PERCENTAGE_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['mpplot_ppc = [mpplot_ppc ' tempname ']']);
            tempname = strcat(ppcname, '_MEAN_POWER_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['mpowerplot_ppc = [mpowerplot_ppc ' tempname ']']);
            tempname = strcat(ppcname, '_MEAN_INTER_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['minterplot_ppc = [minterplot_ppc ' tempname ']']);
        end
        
        save(meanplot_ppc_name, 'meanplot_ppc');
        save(stdplot_ppc_name, 'stdplot_ppc');
        save(spplot_ppc_name, 'spplot_ppc');
        save(mpplot_ppc_name, 'mpplot_ppc');
        save(mpowerplot_ppc_name, 'mpowerplot_ppc');
        save(minterplot_ppc_name, 'minterplot_ppc');
        
    end
end

%   Gather Data
%   Fix Size Var Density

for m = 1:length(a)             % for each method
    for runs = 1:length(nn)     % for varying density

        meanplot_ppc_name = strcat(filterdir, '/', ppcname, '_MEAN_RANGE_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');
        stdplot_ppc_name = strcat(filterdir, '/', ppcname, '_STD_RANGE_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');
        spplot_ppc_name = strcat(filterdir, '/', ppcname, '_STD_PERC_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');
        mpplot_ppc_name = strcat(filterdir, '/', ppcname, '_MEAN_PERC_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_a', num2str(a(m)), '_b', num2str(b(m)), '.mat');        
        mpowerplot_ppc_name = strcat(filterdir, '/', ppcname, '_MEAN_POWER_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_M', num2str(m), '.mat');        
        minterplot_ppc_name = strcat(filterdir, '/', ppcname, '_MEAN_INTER_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_M', num2str(m), '.mat');    
        meanplot_ppc = [];
        stdplot_ppc = [];
        spplot_ppc = [];
        mpplot_ppc = [];
        mpowerplot_ppc = [];        
        minterplot_ppc = [];        
        
        for mindists = 1:length(mindist)
            tempname = strcat(ppcname, '_MEAN_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['meanplot_ppc = [meanplot_ppc ' tempname ']']);
            tempname = strcat(ppcname, '_STD_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['stdplot_ppc = [stdplot_ppc ' tempname ']']);
            tempname = strcat(ppcname, '_STD_PERCENTAGE_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['spplot_ppc = [spplot_ppc ' tempname ']']);
            tempname = strcat(ppcname, '_MEAN_PERCENTAGE_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['mpplot_ppc = [mpplot_ppc ' tempname ']']);
            tempname = strcat(ppcname, '_MEAN_POWER_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['mpowerplot_ppc = [mpowerplot_ppc ' tempname ']']);            
            tempname = strcat(ppcname, '_MEAN_INTER_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_a', num2str(a(m)), '_b', num2str(b(m)))
            tempname = strrep(tempname, '.', '_');
            eval(['minterplot_ppc = [minterplot_ppc ' tempname ']']);  
        end
        
        save(meanplot_ppc_name, 'meanplot_ppc');
        save(stdplot_ppc_name, 'stdplot_ppc');
        save(spplot_ppc_name, 'spplot_ppc');
        save(mpplot_ppc_name, 'mpplot_ppc');
        save(mpowerplot_ppc_name, 'mpowerplot_ppc');
        save(minterplot_ppc_name, 'minterplot_ppc');
        
    end
end

⌨️ 快捷键说明

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