## 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

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.

• The app does not support adding time information to `labeledSignalSet` objects or editing the time information of `labeledSignalSet` objects.