function [norm_residual,norm_after_transient,ratio,percentage]=transient_evaluation(y,Fs,DR,Td) %-------------------------------------------------------------------------- % Benchmark on Adaptive Regulation: % % Rejection of unknown/time-varying multiple narrow band disturbances % %-------------------------------------------------------------------------- % % This function evaluates the transient behaviour for narrow band % disturbance rejection (Application to a Benchmark problem). % % The transient behaviour is considered as the necessary time to the % output reach a ratio of 1.21, regarding the square of the truncated % two norm of the residual behaviour. The square of the truncated two % norm of the residual behaviour is obtained using the last 3 seconds of % the test before the disturbance is removed (once the algorithm has % converged). Since the benchmark specifications requires a transient % behaviour (time) equal or less than 2 seconds, the transient behavior % will be evaluated after this first 2 seconds of the test. The square of % the truncated two norm will be used for this analysis. % % Square of the truncated two norm = norm (x) ^ 2; % where x is a vector containing the values of the samples. % % The time periods to be used are: % Begining of the test is at 5 seconds % For the transient behaviour from 7 to 10 seconds % For the residual behaviour from 17 to 20 seconds % In addition, the ratio will be expressed as a porcentage with respect % to the optimum behaviour (a ratio equal or less than 1.21 will % correspond to 100%). % % Written by A. Castellanos Silva and I.D. Landau (GIPSA-LAB) % Version 1, March 12, 2013 % % % y : is the vector of data % Fs : is the sampling frequency ( Fs = 800 Hz by default) % DR : is the disturbance remotion time ( DR = 20 sec by default) % The experiment duration should be at least equal to 20 sec. % Td : Start disturbance time (Td = 5 sec by default) % % norm_residual : the square of the truncated two norm of the time period % between 17 and 20 seconds. % norm_after_transient : the square of the truncated two norm of the time % period between 7 and 10 seconds. % ratio : the ratio between the two norms above defined. % percentage : the percentage of BSI defined for this criterion. % if nargin<2, Fs = 800; DR = 20; Td = 5;end if nargin<3, DR = 20; Td = 5;end if nargin<4, Td = 5;end if Td>=DR, error('Disturbance must be injected before the end of the experiment'),end y=y-mean(y); y_residual = y((DR-3)*Fs:(DR*Fs)-1); norm_residual = norm (y_residual) ^ 2; y_after_transient = y((Td+2)*Fs:((Td+5)*Fs)-1); norm_after_transient = norm (y_after_transient) ^ 2; ratio = norm_after_transient / norm_residual; limit_benchmark = 2.42; if ratio >= limit_benchmark percentage = 0; elseif ratio < limit_benchmark && ratio > 1.21 Delta_ratio = ratio - 1.21; percentage = ((1.21 - Delta_ratio)/1.21)*100; else percentage = 100; end