FractionOrderSystem/FOTF Toolbox/dfod2.m

19 lines
471 B
Matlab

function H=dfod2(n,T,r)
% DFOD2 - discrete implementation of s^r
%
% H=dfod2(n,T,r)
%
% n - filter order
% T - sample time
% r - fractional order
% modified directly from Petras function, under the same name
arguments
n(1,1) {mustBePositiveInteger}
T(1,1) {mustBePositive}, r(1,1) double
end
if r>0
bc=cumprod([1,1-((r+1)./[1:n])]); H=filt(bc,T^r,T);
elseif r<0
bc=cumprod([1,1-((-r+1)./[1:n])]); H=filt(T^(-r),bc,T);
end, end