Data Types Supported by Signal Analyzer
Numeric Data
Numeric vectors and matrices are supported.
Example:
cos(pi./[4;2]*(0:159))'+randn(160,2)
is a two-channel signal consisting of sinusoids embedded in white noise.Example:
exp(1j*pi./[4;2]*(0:159))'+randn(160,2)
is a two-channel signal consisting of complex-valued sinusoids embedded in white noise.Scalars, empty arrays, multidimensional arrays, and the
ans
variable are not supported.Preprocessing is not supported for signals with nonfinite elements, with the exception of fill missing. Fill missing replaces
NaN
values but leaves infinities untouched.
MATLAB Timetables
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))
andtimetable(seconds(0:4)',rand(5,1),rand(5,1))
both specify a two-channel random variable sampled at 1 Hz for 4 seconds.Example:
timetable(exp(1j*pi./[4;2]*(0:159))'+randn(160,2),'SampleRate',1000)
specifies a two-channel complex-valued sinusoidal signal sampled at 1 kHz for 0.16 second.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.
timeseries
Objects
Single-channel and multichannel
timeseries
objects are supported. To be supported, atimeseries
object must have itsDataInfo.Interpolation
property set to'linear'
. Usesetinterpmethod
to change the property.Example:
timeseries(rand(5,2))
andtimeseries(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 sometimeseries
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, andtimeseries
objects whoseName
property is not a valid MATLAB variable name are not supported. Seeisvarname
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.
Nonuniformly Sampled Signals
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.
Labeled Signal Sets
labeledSignalSet
objects are supported.Example: The code
specifies a labeled signal set with four members. Each member has a different length and a different number of channels. Two members,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. If you want to preprocess a signal that belongs to a labeled signal set, you must first extract the signal from the set. For more information, see Extract Signal Regions of Interest.
The app does not support adding time information to
labeledSignalSet
objects or editing the time information oflabeledSignalSet
objects.
See Also
Apps
Functions
Related Examples
- Modulation and Demodulation Using Complex Envelope
- Resample and Filter a Nonuniformly Sampled Signal
- Extract Regions of Interest from Whale Song
- Extract Voices from Music Signal