19 lines
471 B
Matlab
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
|