I have generated a Thrian fractional delay filter using (thiran function) in MATLAB
h=thiran(0.3,1)
where 0.3 is the time delay and 1 is the sample time. The output is a discrete time transfer function, the generated filter is all-pass, infinite impulse response (IIR) filter.
The problem is that I could not apply it to a signal x(t)
. So I would like to know how to filter a signal with the generated thiran filter in MATLAB, what should I use to filter a signal with thiran filter? I can generate thiran filter using (thiran) function and the result will be a discrete time tf, but how to use it to filter a signal. I have tried to use filter
, conv
and tf
functions but they all did not work:
filter
and conv
functions did not work because they require polynomial coefficients or numerator and denominator coefficients b
and a
, whereas thiran
function generates a discrete transfer function.
[num,den] = tf(d)
function did not work because it can only convert a filter transfer function which is configured by designfilt
function, so in this case d
cannot be a thiran filter, d
can only be configured by designfilt
function
whos h
and you would see that it is atf
class. You can also see this in your workspace. Googling: (how to apply a tf on time series?) gives you the idea to applylsim(h,x)
... $\endgroup$