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

📄 filter_dapc.m

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

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

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

for m = 3:3                        % for varying method
%for m = 1:length(jj)                        % for varying method
    for runs = 1:length(nn)                 % for varying size
        for mindists = 1:length(mindist)    % for varying density

            meanname = strcat(dapcname, '_MEAN_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m));
            stdname = strcat(dapcname, '_STD_R', num2str(nn(runs)), '_D',num2str(mindist(mindists)), '_M', num2str(m));
            meanpercentage = strcat(dapcname, '_MEAN_PERCENTAGE_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m));          
            stdpercentage = strcat(dapcname, '_STD_PERCENTAGE_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m));
            meanpower = strcat(dapcname, '_MEAN_POWER_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m));
            meaninter = strcat(dapcname, '_MEAN_INTER_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m));
            % Replace all dots to dashes
            meanname = strrep(meanname, '.', '_');
            stdname = strrep(stdname, '.', '_');
            meanpercentage = strrep(meanpercentage, '.', '_');
            stdpercentage=  strrep(stdpercentage, '.', '_');
            meanpower = strrep(meanpower, '.', '_');
            meaninter = strrep(meaninter, '.', '_');

            % Initialize Variables
            eval([meanname '= [];']);
            eval([stdname '= [];']);
            eval([meanpercentage '= [];']);
            eval([stdpercentage '= [];']);
            eval([meanpower '= [];']);
            eval([meaninter '= [];']);

            for j = 1:length(vars)  % for variations
                resultname = strcat('RANGE_OUT_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_V', int2str(vars(j)), '_M', num2str(m))
                load(strcat(dapcname, '/', resultname, '.mat'));
                eval([meanname '= [' meanname ' mean(mean(range_out, 2))];']);
                eval([stdname '= [' stdname ' std(mean(range_out, 2))];']);
        
                resultname = strcat('PERCENTAGE_OUT_R', num2str(nn(runs)), '_D', num2str(mindist(mindists)), '_V', int2str(vars(j)), '_M', num2str(m));
                load(strcat(dapcname, '/', resultname, '.mat'));
                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)), '_M', num2str(m));
                load(strcat(dapcname, '/', 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)), '_M', num2str(m));
                load(strcat(dapcname, '/', 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

%   Gather Data
%   Fix Density Var Size
for m = 3:3                        % for varying method
%for m = 1:length(jj)                    % for each method
    for mindists = 1:length(mindist)    % for varying density

        meanplot_dapc_name = strcat(filterdir, '/', dapcname, '_MEAN_RANGE_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_M', num2str(m), '.mat');
        stdplot_dapc_name = strcat(filterdir, '/', dapcname, '_STD_RANGE_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_M', num2str(m), '.mat');
        spplot_dapc_name = strcat(filterdir, '/', dapcname, '_STD_PERC_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_M', num2str(m), '.mat');
        mpplot_dapc_name = strcat(filterdir, '/', dapcname, '_MEAN_PERC_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_M', num2str(m), '.mat');        
        mpowerplot_dapc_name = strcat(filterdir, '/', dapcname, '_MEAN_POWER_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_M', num2str(m), '.mat');        
        minterplot_dapc_name = strcat(filterdir, '/', dapcname, '_MEAN_INTER_FIX_DENSITY_VAR_SIZE_', num2str(mindist(mindists)), '_M', num2str(m), '.mat');        
        
        meanplot_dapc = [];
        stdplot_dapc = [];
        spplot_dapc = [];
        mpplot_dapc = [];
        mpowerplot_dapc = [];
        minterplot_dapc = [];

        for runs = 1:length(nn)         % for varying size
            tempname = strcat(dapcname, '_MEAN_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m))   % Mean range
            tempname = strrep(tempname, '.', '_');
            eval(['meanplot_dapc = [meanplot_dapc ' tempname ']']);
            tempname = strcat(dapcname, '_STD_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m))    % Standard deviation of range
            tempname = strrep(tempname, '.', '_');
            eval(['stdplot_dapc = [stdplot_dapc ' tempname ']']);
            tempname = strcat(dapcname, '_STD_PERCENTAGE_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m)) % Standard deviation of percentage
            tempname = strrep(tempname, '.', '_');
            eval(['spplot_dapc = [spplot_dapc ' tempname ']']);
            tempname = strcat(dapcname, '_MEAN_PERCENTAGE_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m)) % mean of percentage
            tempname = strrep(tempname, '.', '_');
            eval(['mpplot_dapc = [mpplot_dapc ' tempname ']']);
            tempname = strcat(dapcname, '_MEAN_POWER_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m)) % mean of percentage
            tempname = strrep(tempname, '.', '_');
            eval(['mpowerplot_dapc = [mpowerplot_dapc ' tempname ']']);
            tempname = strcat(dapcname, '_MEAN_INTER_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m)) % mean of percentage
            tempname = strrep(tempname, '.', '_');
            eval(['minterplot_dapc = [minterplot_dapc ' tempname ']']);
        end
        
        save(meanplot_dapc_name, 'meanplot_dapc');
        save(stdplot_dapc_name, 'stdplot_dapc');
        save(spplot_dapc_name, 'spplot_dapc');
        save(mpplot_dapc_name, 'mpplot_dapc');
        save(mpowerplot_dapc_name, 'mpowerplot_dapc');
        save(minterplot_dapc_name, 'minterplot_dapc');       
       
     end
end

%   Gather Data
%   Fix Size Var Density

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

        meanplot_dapc_name = strcat(filterdir, '/', dapcname, '_MEAN_RANGE_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_M', num2str(m), '.mat');
        stdplot_dapc_name = strcat(filterdir, '/', dapcname, '_STD_RANGE_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_M', num2str(m), '.mat');
        spplot_dapc_name = strcat(filterdir, '/', dapcname, '_STD_PERC_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_M', num2str(m), '.mat');
        mpplot_dapc_name = strcat(filterdir, '/', dapcname, '_MEAN_PERC_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_M', num2str(m), '.mat');        
        mpowerplot_dapc_name = strcat(filterdir, '/', dapcname, '_MEAN_POWER_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_M', num2str(m), '.mat');        
        minterplot_dapc_name = strcat(filterdir, '/', dapcname, '_MEAN_INTER_FIX_SIZE_VAR_DENSITY_', num2str(nn(runs)), '_M', num2str(m), '.mat');        
        
        meanplot_dapc = [];
        stdplot_dapc = [];
        spplot_dapc = [];
        mpplot_dapc = [];
        mpowerplot_dapc = [];        
        minterplot_dapc = [];        

        for mindists = 1:length(mindist)         % for varying size     
            tempname = strcat(dapcname, '_MEAN_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m))
            tempname = strrep(tempname, '.', '_');
            eval(['meanplot_dapc = [meanplot_dapc ' tempname ']']);
            tempname = strcat(dapcname, '_STD_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m))
            tempname = strrep(tempname, '.', '_');
            eval(['stdplot_dapc = [stdplot_dapc ' tempname ']']);
            tempname = strcat(dapcname, '_STD_PERCENTAGE_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m))
            tempname = strrep(tempname, '.', '_');
            eval(['spplot_dapc = [spplot_dapc ' tempname ']']);
            tempname = strcat(dapcname, '_MEAN_PERCENTAGE_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m))
            tempname = strrep(tempname, '.', '_');
            eval(['mpplot_dapc = [mpplot_dapc ' tempname ']']);
            tempname = strcat(dapcname, '_MEAN_POWER_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m))
            tempname = strrep(tempname, '.', '_');
            eval(['mpowerplot_dapc = [mpowerplot_dapc ' tempname ']']);            
            tempname = strcat(dapcname, '_MEAN_INTER_R', int2str(nn(runs)), '_D', num2str(mindist(mindists)), '_M', num2str(m))
            tempname = strrep(tempname, '.', '_');
            eval(['minterplot_dapc = [minterplot_dapc ' tempname ']']);  
        end
        
        save(meanplot_dapc_name, 'meanplot_dapc');
        save(stdplot_dapc_name, 'stdplot_dapc');
        save(spplot_dapc_name, 'spplot_dapc');
        save(mpplot_dapc_name, 'mpplot_dapc');
        save(mpowerplot_dapc_name, 'mpowerplot_dapc');
        save(minterplot_dapc_name, 'minterplot_dapc');

    end
end

⌨️ 快捷键说明

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