Resampling Data at the Command Line
Use resample
to decimate
and interpolate time-domain iddata
objects.
You can specify the order of the antialiasing filter as an argument.
Note
resample
uses the Signal Processing Toolbox™ command,
when this toolbox is installed on your computer. If this toolbox is
not installed, use idresamp
instead. idresamp
only
lets you specify the filter order, whereas resample
also
lets you specify filter coefficients and the design parameters of
the Kaiser window.
To create a new iddata
object datar
by
resampling data
, use the following syntax:
datar = resample(data,P,Q,filter_order)
In this case, P
and Q
are
integers that specify the new sample time: the new sample time is Q/P
times
the original one. You can also specify the order of the resampling
filter as a fourth argument filter_order
, which
is an integer (default is 10
). For detailed information
about resample
, see the corresponding reference
page.
For example, resample(data,1,Q)
results in
decimation with the sample time modified by a factor Q
.
The next example shows how you can increase the sampling rate by a factor of 1.5 and compare the signals:
plot(u) ur = resample(u,3,2); plot(u,ur)
When the Signal Processing Toolbox product is not installed,
using resample
calls idresamp
instead.
idresamp
uses the following syntax:
datar = idresamp(data,R,filter_order)
In this case, R=Q/P
, which means that data
is interpolated by a factor P
and then decimated
by a factor Q
. To learn more about idresamp
,
type help idresamp
.
The data.InterSample
property of the iddata
object
is taken into account during resampling (for example, first-order
hold or zero-order hold). For more information, see iddata Properties.