Main Content

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 non-finite elements.

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)) 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.

    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, 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.

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

    1100<Median time intervalMean time interval<100.

    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

    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"]);
    specifies a labeled signal set with four members. Each member has a different length and a different number of channels. Two members, "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 of labeledSignalSet objects.

See Also

Apps

Functions

Related Examples

More About