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.