Numeric vectors and matrices with finite elements are supported.
Example:
cos(pi./[4;2]*(0:159))'+randn(160,2)
is a two-channel signal
consisting of sinusoids embedded in white noise.
Scalars, empty arrays, multidimensional arrays, and the ans
variable are not supported.
Timetables with one or more variables are supported. Each variable can be a vector or a matrix. Signal Analyzer supports timetable inputs only when the time values are increasing and finite. Signals with missing, nonfinite, or duplicate time points are not imported. For some timetables, this restriction might mean that the app imports some signals but does not import others. To make sure that all signals are imported, you can fix them using the tips in Clean Timetable with Missing, Duplicate, or Nonuniform Times.
Example: timetable(seconds(0:4)',rand(5,2))
and timetable(seconds(0:4)',rand(5,1),rand(5,1))
both specify a two-channel random variable sampled at 1 Hz for 4 seconds.
Empty timetables and timetables with row times specified as datetime
arrays are not supported.
Tip
To analyze timetables with time values stored as a datetime
array, convert the array to a duration
array by subtracting the first time point, and then convert the duration
array to seconds. See Analyze Signals with Inherent Time Information for an example.
timeseries
ObjectsSingle-channel and multichannel timeseries
objects are
supported. To be supported, a timeseries
object must have
its DataInfo.Interpolation
property set to
'linear'
. Use setinterpmethod
to change the
property.
Example:
timeseries(rand(5,2))
and
timeseries(rand(5,2),0:4)
both specify a two-channel
random variable sampled at 1 Hz for 4 seconds.
Signal Analyzer supports timeseries
inputs
only when the time values are increasing and finite. Signals with missing,
nonfinite, or duplicate time points are not imported. For some
timeseries
objects, this restriction might mean that
the app imports some signals but does not import others. To make sure that all
signals are imported, you can fix them using the tips in Time Series Objects and Collections.
Empty timeseries
objects, timeseries
objects with time vectors specified as MATLAB® date strings, and timeseries
objects whose
Name
property is not a valid MATLAB variable name are not supported. See isvarname
for more
information on valid variable names.
Note
Signal Analyzer does not support matrices, time series, timetables, or labeled signal sets with more than 8000 channels.
Filtering and scalogram view do not support nonuniformly sampled signals.
If a signal is nonuniformly sampled, then Signal Analyzer interpolates the signal to a uniform grid to compute spectral estimates. The app uses linear interpolation and assumes a sample time equal to the median difference between adjacent time points. The derived sample rate in the Signal table has an asterisk to indicate that the signal is nonuniformly sampled. For a nonuniformly sampled signal to be supported, the median time interval and the mean time interval must obey
Note
The interpolation is used only to compute spectral estimates. Time plots are not resampled.
labeledSignalSet
objects are supported.
Example: The code
lbs = labeledSignalSet({randn(100,2) randn(200,3)},'SampleRate',400); setMemberNames(lbs,["Water" "Earth"]); addMembers(lbs,{randn(120,1) randn(300,2)},100,["Air" "Fire"]);
"Water"
and
"Earth"
, are sampled at 400 Hz. The other two members,
"Air"
and "Fire"
, are sampled at 100
Hz.Preprocessing is not supported for labeled signal sets.
The app does not support adding time information to labeledSignalSet
objects or editing the time information of
labeledSignalSet
objects.