Documentation

## Functions and Objects Supported for C/C++ Code Generation

You can generate efficient C/C++ code for a subset of MATLAB® built-in functions and toolbox functions and System objects that you call from MATLAB code. These functions and System objects are listed in the following tables.

### Note

For more information on code generation for fixed-point algorithms, refer to Code Acceleration and Code Generation from MATLAB (Fixed-Point Designer).

### MATLAB

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `-` Subtraction `&` Find logical AND Matrix multiplication Multiplication `./` Right array division `.\` Left array division Element-wise power Solve systems of linear equations xA = B for x Solve systems of linear equations Ax = B for x Matrix power `|` Find logical OR `~` Find logical NOT Determine inequality `+` Addition `<` Determine less than `<=` Determine less than or equal to Determine equality `>` Determine greater than `>=` Determine greater than or equal to `abs` Absolute value and complex magnitude Construct array with accumulation Inverse cosine in radians `acosd` Inverse cosine in degrees Inverse hyperbolic cosine `acot` Inverse cotangent in radians `acotd` Inverse cotangent in degrees `acoth` Inverse hyperbolic cotangent `acsc` Inverse cosecant in radians `acscd` Inverse cosecant in degrees `acsch` Inverse hyperbolic cosecant Airy Functions Determine if all array elements are nonzero or `true` `angle` Phase angle Determine if any array elements are nonzero Convert homogeneous array to table Apply function to each element of array `asec` Inverse secant in radians `asecd` Inverse secant in degrees `asech` Inverse hyperbolic secant Inverse sine in radians `asind` Inverse sine in degrees `asinh` Inverse hyperbolic sine Throw error if condition false `atan` Inverse tangent in radians `atan2` Four-quadrant inverse tangent `atan2d` Four-quadrant inverse tangent in degrees `atand` Inverse tangent in degrees Inverse hyperbolic tangent Lower and upper matrix bandwidth Modified Bessel function of first kind Bessel function of first kind `beta` Beta function Incomplete beta function Beta inverse cumulative distribution function `betaln` Logarithm of beta function Convert text representation of binary number to decimal number `bitand` Bit-wise AND `bitcmp` Bit-wise complement `bitget` Get bit at specified position `bitor` Bit-wise OR `bitset` Set bit at specific location `bitshift` Shift bits specified number of places `bitxor` Bit-wise XOR `blanks` Create character array of blanks `blkdiag` Block diagonal matrix `bounds` Smallest and largest elements `break` Terminate execution of for or while loop Apply element-wise operation to two arrays with implicit expansion enabled `builtin` Execute built-in function from overloaded method `cart2pol` Transform Cartesian coordinates to polar or cylindrical `cart2sph` Transform Cartesian coordinates to spherical Convert variable to different data type Concatenate arrays Array that contains values assigned to categories `categories` Categories of categorical array Round toward positive infinity Cell array Convert to cell array of character vectors Character array Cholesky factorization Rank 1 update to Cholesky factorization `circshift` Shift array circularly `class` Class of object Vector creation, array subscripting, and `for`-loop iteration `compan` Companion matrix `complex` Create complex array Information about computer on which MATLAB is running `cond` Condition number for inversion `conj` Complex conjugate Determine if pattern is in strings `continue` Pass control to next iteration of `for` or `while` loop Convolution and polynomial multiplication `conv2` 2-D convolution Convert character arrays to string arrays, leaving other arrays unaltered `convertStringsToChars` Convert string arrays to character arrays, leaving other arrays unaltered `convn` N-D convolution Correlation coefficients `cos` Cosine of argument in radians `cosd` Cosine of argument in degrees `cosh` Hyperbolic cosine `cospi` Compute cos(X*pi) accurately `cot` Cotangent of angle in radians Cotangent of argument in degrees `coth` Hyperbolic cotangent Count occurrences of pattern in strings Covariance `cplxpair` Sort complex numbers into complex conjugate pairs Cross product `csc` Cosecant of input angle in radians Cosecant of argument in degrees `csch` Hyperbolic cosecant `ctranspose` Complex conjugate transpose `cummax` Cumulative maximum `cummin` Cumulative minimum Cumulative product Cumulative sum `cumtrapz` Cumulative trapezoidal numerical integration Convert date and time to vector of components `days` Duration in days `deal` Distribute inputs to outputs Remove trailing whitespace from ends of strings `dec2base` Convert decimal number to character array representing base-N number Convert decimal number to character array representing binary number Convert decimal number to character array representing hexadecimal number Deconvolution and polynomial division `deg2rad` Convert angle from degrees to radians `del2` Discrete Laplacian Matrix determinant Remove polynomial trend Create diagonal matrix or get diagonal elements of matrix Differences and approximate derivatives Group data into bins or categories Dot product Double-precision arrays Lengths of time in fixed-length units Eigenvalues and eigenvectors `ellipke` Complete elliptic integrals of first and second kind `end` Terminate block of code, or indicate last array index Determine if strings end with pattern `enumeration` Class enumeration members and names `eps` Floating-point relative accuracy Delete substrings within strings Delete substrings between start and end points Error function Complementary error function Inverse complementary error function Scaled complementary error function Inverse error function Throw error and display message `exp` Exponential `expint` Exponential integral Matrix exponential `expm1` Compute exp(x)-1 accurately for small values of x Extract substrings after specified positions Extract substrings before specified positions Identity matrix Prime factors `factorial` Factorial of input Logical 0 (false) `fclose` Close one or all open files `feof` Test for end of file Evaluate function Fast Fourier transform 2-D fast Fourier transform N-D fast Fourier transform `fftshift` Shift zero-frequency component to center of spectrum Define method for determining FFT algorithm Read line from file, removing newline characters Read line from file, keeping newline characters Field names of structure, or public fields of Java® or Microsoft® COM object Read contents of file as text Fill missing values Detect and replace outliers in data 1-D digital filter `filter2` 2-D digital filter Find indices and values of nonzero elements Round toward zero `flintmax` Largest consecutive integer in floating-point format Flip order of elements (Not recommended) Flip array along specified dimension Flip array left to right Flip array up to down Round toward negative infinity Find minimum of single-variable function on fixed interval Find minimum of unconstrained multivariable function using derivative-free method Open file, or obtain information about open files `for` loop to repeat specified number of times Write data to text file Read data from binary file `freqspace` Frequency spacing for frequency response `frewind` Move file position indicator to beginning of open file Move to specified position in file Current position `full` Convert sparse matrix to full storage Construct character vector from function handle Write data to binary file Root of nonlinear function `gamma` Gamma function Incomplete gamma function Inverse incomplete gamma function `gammaln` Logarithm of gamma function `gcd` Greatest common divisor Number of inputs required to call the System object™ Number of outputs from calling the System object `gradient` Numerical gradient Hadamard matrix `hankel` Hankel matrix `hasFrame` Determine if video frame is available to read `height` Number of table rows Convert text representation of hexadecimal number to decimal number Convert IEEE® hexadecimal format to double-precision number `hilb` Hilbert matrix Histogram plot (not recommended; use `histogram`) Histogram bin counts (not recommended; use `histcounts`) Histogram bin counts Bivariate histogram bin counts Hour, minute, and second numbers of datetime or duration `horzcat` Concatenate arrays horizontally `hours` Duration in hours `hsv2rgb` Convert HSV colors to RGB `hypot` Square root of sum of squares (hypotenuse) Integer division with rounding option `if, elseif, else` Execute statements if condition is true Inverse fast Fourier transform 2-D inverse fast Fourier transform Multidimensional inverse fast Fourier transform `ifftshift` Inverse zero-frequency shift `im2double` Convert image to double precision `imag` Imaginary part of complex number Read image from graphics file Resize image `ind2rgb` Convert indexed image to RGB image Convert linear indices to subscripts Create array of all `Inf` values Points located inside or on edge of polygonal region Insert strings after specified substrings Insert strings before specified substrings `int16` 16-bit signed integer arrays Convert integers to characters `int32` 32-bit signed integer arrays `int64` 64-bit signed integer arrays `int8` 8-bit signed integer arrays 1-D data interpolation (table lookup) Quick 1-D linear interpolation Interpolation for 2-D gridded data in meshgrid format Interpolation for 3-D gridded data in meshgrid format Interpolation for 1-D, 2-D, 3-D, and N-D gridded data in ndgrid format Set intersection of two arrays `intmax` Largest value of specific integer type `intmin` Smallest value of specified integer type Matrix inverse `invhilb` Inverse of Hilbert matrix Inverse permute array dimensions `isa` Determine if input has specified data type Determine if matrix is within specific bandwidth `iscalendarduration` Determine if input is calendar duration array `iscategory` Test for categorical array categories `iscell` Determine if input is cell array `iscellstr` Determine if input is cell array of character vectors `ischar` Determine if input is character array `iscolumn` Determine whether input is column vector `isdatetime` Determine if input is datetime array Determine if matrix is diagonal End-of-data status `isduration` Determine if input is duration array `isempty` Determine whether array is empty `isenum` Determine if variable is enumeration `isequal` Determine array equality `isequaln` Determine array equality, treating NaN values as equal Determine if input is structure array field `isfinite` Determine which array elements are finite `isfloat` Determine if input is floating-point array Determine if matrix is Hermitian or skew-Hermitian `isinf` Determine which array elements are infinite `isinteger` Determine whether input is integer array Determine which characters are letters Find local maxima Find local minima Determine if System object is in use `islogical` Determine if input is logical array Determine if version is for macOS platform `ismatrix` Determine whether input is matrix Array elements that are members of set array `ismethod` Determine if method of object Find missing values `isnan` Determine which array elements are NaN `isnumeric` Determine whether input is numeric array `isobject` Determine if input is MATLAB object `isordinal` Determine whether input is ordinal categorical array Find outliers in data Determine if version is for Windows® (PC) platform Determine which array elements are prime `isprotected` Determine whether categories of categorical array are protected `isreal` Determine whether array is real `isrow` Determine whether input is row vector `isscalar` Determine whether input is scalar Determine if array is sorted Determine if matrix or table rows are sorted Determine which characters are space characters `issparse` Determine whether input is sparse `isstring` Determine if input is string array Determine which characters in input strings are of specified category `isstruct` Determine if input is structure array Determine if matrix is symmetric or skew-symmetric Determine if matrix is lower triangular Determine if matrix is upper triangular `isundefined` Find undefined elements in categorical array Determine if version is for Linux® or Mac platforms `isvector` Determine whether input is vector Kronecker tensor product `lcm` Least common multiple `length` Length of largest array dimension Solve linear system of equations `linspace` Generate linearly spaced vector Load variables from file into workspace Natural logarithm `log10` Common logarithm (base 10) `log1p` Compute log(1+x) accurately for small values of x `log2` Base 2 logarithm and floating-point number dissection `logical` Convert numeric values to logicals `logspace` Generate logarithmically spaced vector Convert strings to lowercase Least-squares solution in presence of known covariance Solve nonnegative linear least-squares problem LU matrix factorization Magic square Solve linear assignment problem Maximum elements of an array Find `k` largest elements of array Average or mean value of array Median value of array `meshgrid` 2-D and 3-D grids `mfilename` File name of currently running code `milliseconds` Duration in milliseconds Minimum elements of an array Find `k` smallest elements of array `minutes` Duration in minutes Make piecewise polynomial Remainder after division (modulo operation) Most frequent values in array Moving median absolute deviation Moving maximum Moving mean Moving median Moving minimum Moving product Moving standard deviation Moving sum Moving variance `mustBeFinite` Validate that value is finite or issue error `mustBeGreaterThan` Validate that value is greater than another value or issue error `mustBeGreaterThanOrEqual` Validate that value is greater than or equal to another value or issue error `mustBeInteger` Validate that value is integer or issue error `mustBeLessThan` Validate that value is less than another value or issue error `mustBeLessThanOrEqual` Validate that value is less than or equal to another value or issue error `mustBeMember` Validate that value is member of specified set `mustBeNegative` Validate that value is negative or issue error `mustBeNonempty` Validate that value is nonempty or issue error `mustBeNonNan` Validate that value is nonNaN `mustBeNonnegative` Validate that value is nonnegative or issue error `mustBeNonpositive` Validate that value is nonpositive or issue error `mustBeNonsparse` Validate that value is nonsparse or issue error `mustBeNonzero` Validate that value is nonzero or issue error `mustBeNumeric` Validate that value is numeric or issue error `mustBeNumericOrLogical` Validate that value is numeric or logical or issue error `mustBePositive` Validate that value is positive or issue error `mustBeReal` Validate that value is real or issue error Create array of all `NaN` values Number of function input arguments `narginchk` Validate number of input arguments Number of function output arguments `nargoutchk` Validate number of output arguments Binomial coefficient or all combinations `ndgrid` Rectangular grid in N-D space `ndims` Number of array dimensions `newline` Create newline character `nextpow2` Exponent of next higher power of 2 `nnz` Number of nonzero matrix elements `nonzeros` Nonzero matrix elements Vector and matrix norms Normalize data 2-norm estimate `nthroot` Real nth root of real numbers Null space of matrix `num2hex` Convert single- and double-precision numbers to IEEE hexadecimal format Convert numbers to character array `numel` Number of array elements `nzmax` Amount of storage allocated for nonzero matrix elements Solve nonstiff differential equations â€” low order method Solve nonstiff differential equations â€” medium order method Extract ODE option values Create or modify options structure for ODE and PDE solvers Create array of all ones Optimization options values Create or modify optimization options structure Orthonormal basis for range of matrix Parallel for loop `pascal` Pascal matrix Stop MATLAB execution temporarily Piecewise Cubic Hermite Interpolating Polynomial (PCHIP) Permute array dimensions Define persistent variable `pi` Ratio of circle's circumference to its diameter Moore-Penrose pseudoinverse Givens plane rotation `pol2cart` Transform polar or cylindrical coordinates to Cartesian Polynomial with specified roots or characteristic polynomial `polyarea` Area of polygon Polynomial differentiation Polynomial eigenvalue problem Polynomial curve fitting `polyint` Polynomial integration `polyval` Polynomial evaluation `polyvalm` Matrix polynomial evaluation Evaluate piecewise polynomial Prime numbers less than or equal to input value Product of array elements Psi (polygamma) function Orthogonal-triangular decomposition Rank 1 update to QR factorization Numerically evaluate double integral â€” tiled method `quadgk` Numerically evaluate integral â€” Gauss-Kronrod quadrature `rad2deg` Convert angle from radians to degrees Uniformly distributed random numbers Uniformly distributed pseudorandom integers Normally distributed random numbers `randperm` Random permutation of integers Rank of matrix Rational fraction approximation Reciprocal condition number Read one or more video frames `read` Read data from remote host over TCP/IP Read next video frame `real` Real part of complex number `reallog` Natural logarithm for nonnegative real arrays `realmax` Largest positive floating-point number `realmin` Smallest normalized floating-point number `realpow` Array power for real-only output `realsqrt` Square root for nonnegative real arrays `rectint` Rectangle intersection area Release resources and allow changes to System object property values and input characteristics Remainder after division Repeat copies of array elements Find and replace one or more substrings Replace substrings between start and end points Repeat copies of array `rescale` Scale range of array elements Reset internal states of System object Reshape array `return` Return control to invoking script or function Reverse order of characters in strings Convert RGB image or colormap to grayscale `rgb2hsv` Convert RGB colors to HSV Remove missing entries Detect and remove outliers in data Control random number generation Polynomial roots `rosser` Classic symmetric eigenvalue test problem Rotate array 90 degrees Round to nearest decimal or integer Convert real Schur form to complex Schur form Schur decomposition `sec` Secant of angle in radians Secant of argument in degrees `sech` Hyperbolic secant `seconds` Duration in seconds Set difference of two arrays Set exclusive OR of two arrays Shift array dimensions `sign` Sign function (signum function) `sin` Sine of argument in radians `sind` Sine of argument in degrees `single` Single-precision arrays `sinh` Hyperbolic sine `sinpi` Compute sin(X*pi) accurately `size` Array size Sort array elements Sort rows of matrix or table `spalloc` Allocate space for sparse matrix Create sparse matrix `spdiags` Extract nonzero diagonals and create sparse band and diagonal matrices `speye` Sparse identity matrix `spfun` Apply function to nonzero sparse matrix elements `sph2cart` Transform spherical coordinates to Cartesian Cubic spline data interpolation `spones` Replace nonzero sparse matrix elements with ones Format data into string or character vector Square root Matrix square root Remove dimensions of length 1 Insert standard missing values Determine if strings start with pattern Standard deviation Run System object algorithm Convert strings to double precision values Construct function handle from character vector Compare strings Compare strings (case insensitive) Find strings within other strings String array Remove leading and trailing characters from stringS Join strings in array Justify strings `strlength` Lengths of strings Compare first `n` characters of strings (case sensitive) Compare first `n` characters of strings (case insensitive) Find and replace substrings Selected parts of strings Remove leading and trailing whitespace from strings Structure array Convert structure to cell array Apply function to each field of scalar structure Convert subscripts to linear indices Angle between two subspaces Sum of array elements Singular value decomposition Swap byte ordering Execute one of several groups of statements Table array with named variables that can contain different types Convert table to homogeneous array `table2cell` Convert table to cell array `tan` Tangent of argument in radians Tangent of argument in degrees `tanh` Hyperbolic tangent `tcpclient` Create TCP/IP client object to communicate over TCP/IP Start stopwatch timer Read elapsed time from stopwatch `toeplitz` Toeplitz matrix Sum of diagonal elements `transpose` Transpose vector or matrix Trapezoidal numerical integration Lower triangular part of matrix Upper triangular part of matrix Logical 1 (true) Convert data types without changing underlying data `uint16` 16-bit unsigned integer arrays `uint32` 32-bit unsigned integer arrays `uint64` 64-bit unsigned integer arrays `uint8` 8-bit unsigned integer arrays `uminus` Unary minus Set union of two arrays Unique values in array Extract piecewise polynomial details Shift phase angles `uplus` Unary plus Convert strings to uppercase Check validity of array Check validity of text `vander` Vandermonde matrix Variance Variable-length input argument list Variable-length output argument list Vector-wise norm `vertcat` Concatenate arrays vertically Create object to read video files `while` `while` loop to repeat when condition is true `width` Number of table variables Wilkinson's eigenvalue test matrix `write` Write data to remote host over TCP/IP Cross-correlation `xcov` Cross-covariance `xor` Find logical exclusive-OR `years` Duration in years Create array of all zeros

### 5G Toolbox

C and C++ code generation for the following functions requires the 5G Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `getPathFilters` Get path filter impulse response for link-level MIMO fading channel `getTransportBlock` Get transport block from UL-SCH or DL-SCH encoder `info` Get characteristic information about link-level MIMO fading channel `nrBCH` Broadcast channel (BCH) encoding Broadcast channel (BCH) decoding `nrCarrierConfig` Carrier configuration parameters Send signal through CDL channel model `nrChannelEstimate` Practical channel estimation `nrCodeBlockDesegmentLDPC` LDPC code block desegmentation and CRC decoding `nrCodeBlockSegmentLDPC` LDPC code block segmentation and CRC attachment `nrCRCDecode` Decode and remove cyclic redundancy check (CRC) `nrCRCEncode` Calculate and append cyclic redundancy check (CRC) `nrCSIRS` Generate CSI-RS symbols `nrCSIRSConfig` CSI-RS configuration parameters `nrCSIRSIndices` Generate CSI-RS resource element indices Decode downlink control information (DCI) `nrDCIEncode` Encode downlink control information (DCI) Apply DL-SCH encoder processing chain Apply DL-SCH decoder processing chain `nrDLSCHInfo` Get downlink shared channel (DL-SCH) information `nrEqualizeMMSE` Minimum mean-squared error (MMSE) equalization Extract resource elements from resource array `nrLayerDemap` Layer demapping onto scrambled and modulated codewords `nrLayerMap` Layer mapping of modulated and scrambled codewords Low-density parity-check (LDPC) decoding `nrLDPCEncode` Low-density parity-check (LDPC) encoding Generate low peak-to-average power ratio (low-PAPR) sequence Generate PBCH modulation symbols `nrPBCHDecode` Decode PBCH modulation symbols Generate PBCH DM-RS symbols Generate PBCH DM-RS resource element indices Generate PBCH resource element indices Generate PBCH scrambling sequence Generate PDCCH modulation symbols `nrPDCCHDecode` Decode PDCCH modulation symbols Generate PDCCH scrambling sequence Generate PDSCH modulation symbols `nrPDSCHDecode` Decode PDSCH modulation symbols Generate PDSCH scrambling sequence `nrPerfectChannelEstimate` Perfect channel estimation `nrPerfectTimingEstimate` Perfect timing estimation Polar decoding `nrPolarEncode` Polar encoding Generate PRBS Generate PSS symbols Generate PSS resource element indices Generate PUCCH format 0 modulation symbols Generate PUCCH format 1 modulation symbols Generate PUCCH format 2 modulation symbols Generate PUCCH format 3 modulation symbols Generate PUCCH format 4 modulation symbols `nrPUCCHHoppingInfo` Get PUCCH hopping information Generate PUCCH scrambling sequence Generate PUSCH modulation symbols `nrPUSCHCodebook` Generate PUSCH precoding matrix `nrPUSCHDecode` Decode PUSCH modulation symbols `nrPUSCHDescramble` Perform PUSCH descrambling Generate PUSCH scrambling sequence `nrPUSCHScramble` Perform PUSCH scrambling `nrRateMatchLDPC` Low-density parity-check (LDPC) rate matching `nrRateMatchPolar` Polar rate matching `nrRateRecoverLDPC` Low-density parity-check (LDPC) rate recovery `nrRateRecoverPolar` Polar rate recovering Generate SSS symbols Generate SSS resource element indices Demodulate and convert symbols to bits Generate modulated symbols Send signal through TDL channel model `nrTimingEstimate` Practical timing estimation `nrTransformDeprecode` Recover transform deprecoded symbols `nrTransformPrecode` Generate transform precoded symbols Decode uplink control information (UCI) `nrUCIEncode` Encode uplink control information (UCI) Apply UL-SCH encoder processing chain Apply UL-SCH decoder processing chain `nrULSCHInfo` Get uplink shared channel (UL-SCH) information `resetSoftBuffer` Reset soft buffer for HARQ process in UL-SCH or DL-SCH decoder `setTransportBlock` Load transport block into UL-SCH or DL-SCH encoder

### Aerospace Toolbox

C and C++ code generation for the following Aerospace Toolbox quaternion functions requires the Aerospace Toolbox software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Calculate conjugate of quaternion Divide quaternion by another quaternion Calculate inverse of quaternion Calculate modulus of quaternion Calculate product of two quaternions Calculate norm of quaternion Normalize quaternion

### Audio Toolbox

C and C++ code generation for the following functions and System objects requires the Audio Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Record from sound card Play to sound card Generate sine, square, and sawtooth waveforms Simultaneously play and record using an audio device `audioPlugin` Base class for audio plugins `audioPluginGridLayout` Specify layout for audio plugin UI `audioPluginInterface` Specify audio plugin interface `audioPluginParameter` Specify audio plugin parameters `audioPluginSource` Base class for audio source plugins Apply time scaling to streaming audio `bark2hz` Convert from Bark scale to hertz Extract cepstral features from audio segment Dynamic range compressor Audio crossover filter `designAuditoryFilterBank` Design auditory filter bank `designParamEQ` Design parametric equalizer `designShelvingEQ` Design shelving equalizer `designVarSlopeFilter` Design variable slope lowpass or highpass IIR filter Display vectors or arrays Stream from audio file Stream to audio file Display frequency spectrum of time-domain signals Time domain signal display and measurement `erb2hz` Convert from equivalent rectangular bandwidth (ERB) scale to hertz Dynamic range expander Gammatone filter bank Standards-based graphic equalizer `gtcc` Extract gammatone cepstral coefficients, log-energy, delta, and delta-delta `harmonicRatio` Harmonic ratio `hz2bark` Convert from hertz to Bark scale `hz2erb` Convert from hertz to equivalent rectangular bandwidth (ERB) scale `hz2mel` Convert from hertz to mel scale `imdct` Inverse modified discrete cosine transform `integratedLoudness` Measure integrated loudness and loudness range `interpolateHRTF` 3-D head-related transfer function (HRTF) interpolation `kbdwin` Kaiser-Bessel-derived window Dynamic range limiter Standard-compliant loudness measurements `mdct` Modified discrete cosine transform `mel2hz` Convert from mel scale to hertz `melSpectrogram` Mel spectrogram `mfcc` Extract mfcc, log energy, delta, and delta-delta of audio signal Multiband parametric equalizer Dynamic range gate Octave-band and fractional octave-band filter Octave and fractional-octave filter bank `pinknoise` Generate pink noise `pitch` Estimate fundamental frequency of audio signal Add reverberation to audio signal `shiftPitch` Shift audio pitch `spectralCentroid` Spectral centroid for audio signals and auditory spectrograms `spectralCrest` Spectral crest for audio signals and auditory spectrograms `spectralDecrease` Spectral decrease for audio signals and auditory spectrograms `spectralEntropy` Spectral entropy for audio signals and auditory spectrograms `spectralFlatness` Spectral flatness for audio signals and auditory spectrograms `spectralFlux` Spectral flux for audio signals and auditory spectrograms `spectralKurtosis` Spectral kurtosis for audio signals and auditory spectrograms `spectralRolloffPoint` Spectral rolloff point for audio signals and auditory spectrograms `spectralSkewness` Spectral skewness for audio signals and auditory spectrograms `spectralSlope` Spectral slope for audio signals and auditory spectrograms `spectralSpread` Spectral spread for audio signals and auditory spectrograms Measure sound pressure level of audio signal `stretchAudio` Time-stretch audio Detect presence of speech in audio signal Generate periodic signal from single-cycle waveforms Frequency-weighted filter

### Automated Driving Toolbox

C and C++ code generation for the following functions and System objects requires the Automated Driving Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Detect objects using aggregate channel features Detect objects in monocular camera using aggregate channel features `birdsEyeView` Create bird's-eye view using inverse perspective mapping `cameas` Measurement function for constant-acceleration motion `cameasjac` Jacobian of measurement function for constant-acceleration motion Object for storing camera parameters `checkFree` Check vehicle costmap for collision-free poses or points `checkOccupied` Check vehicle costmap for occupied poses or points `checkPathValidity` Check validity of planned vehicle path `clone` Create duplicate tracking filter `constacc` Constant-acceleration motion model `constaccjac` Jacobian for constant-acceleration motion `constturn` Constant turn-rate motion model `constturnjac` Jacobian for constant turn-rate motion `constvel` Constant velocity state update `constveljac` Jacobian for constant-velocity motion `correct` Correct state and state estimation error covariance using tracking filter Correct state and state estimation error covariance using tracking filter and JPDA `ctmeas` Measurement function for constant turn-rate motion `ctmeasjac` Jacobian of measurement function for constant turn-rate motion `cvmeas` Measurement function for constant velocity motion `cvmeasjac` Jacobian of measurement function for constant velocity motion `distance` Distances between current and predicted measurements of tracking filter Dubins path segment `driving.Path` Planned vehicle path Reeds-Shepp path segment Find nearest neighbors of a point in point cloud Find neighbors within a radius of a point in the point cloud `findPointsInROI` Find points within a region of interest in the point cloud `getCosts` Get cost value of cells in vehicle costmap `getTrackPositions` Returns updated track positions and position covariance matrix `getTrackVelocities` Obtain updated track velocities and velocity covariance matrix `imageToVehicle` Convert bird's-eye-view image coordinates to vehicle coordinates Collision-checking configuration for costmap based on inflation `initcaekf` Create constant-acceleration extended Kalman filter from detection report `initcakf` Create constant-acceleration linear Kalman filter from detection report `initcaukf` Create constant-acceleration unscented Kalman filter from detection report `initctekf` Create constant turn-rate extended Kalman filter from detection report `initctukf` Create constant turn-rate unscented Kalman filter from detection report `initcvekf` Create constant-velocity extended Kalman filter from detection report `initcvkf` Create constant-velocity linear Kalman filter from detection report `initcvukf` Create constant-velocity unscented Kalman filter from detection report `initialize` Initialize state and covariance of tracking filter Insert markers in image or video Annotate truecolor or grayscale image or video stream Insert shapes in image or video Insert text in image or video `interpolate` Interpolate poses along planned vehicle path `lateralControllerStanley` Compute steering angle command for path following by using Stanley method `likelihood` Likelihood of measurement from tracking filter `monoCamera` Configure monocular camera sensor Track objects using GNN assignment `objectDetection` Report for single object detection Configure RRT* path planner Remove noise from 3-D point cloud Downsample a 3-D point cloud Fit plane to 3-D point cloud Merge two 3-D point clouds Estimate normals for point cloud Register two point clouds using CPD algorithm Register two point clouds using NDT algorithm Segment point cloud into clusters based on Euclidean distance Transform 3-D point cloud Plan vehicle path using RRT* path planner `pointCloud` Object for storing 3-D point cloud `predict` Predict state and state estimation error covariance of tracking filter `predict (trackingKF)` Predict state and state estimation error covariance of linear Kalman filter Generate radar detections for driving scenario `removeInvalidPoints` Remove invalid points from point cloud `residual` Measurement residual and residual noise from tracking filter `segmentLaneMarkerRidge` Detect lanes in a grayscale intensity image Segment organized 3-D range data into clusters `select` Select points in point cloud `setCosts` Set cost value of cells in vehicle costmap `smoothPathSpline` Smooth vehicle path using cubic spline interpolation `trackingEKF` Extended Kalman filter for object tracking Linear Kalman filter for object tracking `trackingUKF` Unscented Kalman filter for object tracking `transformImage` Transform image to bird's-eye view Correct image for lens distortion Costmap representing planning space around vehicle Store vehicle dimensions `vehicleToImage` Convert vehicle coordinates to bird's-eye-view image coordinates Detect objects using the Viola-Jones algorithm Display video Detect upright people using HOG features Generate vision detections for driving scenario

### Communications Toolbox

C and C++ code generation for the following functions and System objects requires the Communications Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `algdeintrlv` Restore ordering of symbols using algebraically derived permutation table `algintrlv` Reorder symbols using algebraically derived permutation table `alignsignals` Align two signals by delaying earliest signal `apskdemod` Amplitude phase shift keying (APSK) demodulation `apskmod` Amplitude phase shift keying (APSK) modulation Add white Gaussian noise to signal Generator polynomial of BCH code `bi2de` Convert binary vectors to decimal numbers `bin2gray` Convert positive integers into corresponding Gray-encoded integers `bleATTPDU` Generate BLE ATT PDU `bleATTPDUConfig` Create configuration object for BLE ATT PDU `bleATTPDUDecode` Decode BLE ATT PDU Select BLE channel index `bleGAPDataBlock` Generate BLE GAP data block `bleGAPDataBlockConfig` Create configuration object for BLE GAP data block `bleGAPDataBlockDecode` Decode BLE GAP data block `bleIdealReceiver` Ideal receiver for BLE PHY waveform `bleL2CAPFrame` Generate BLE L2CAP frame `bleL2CAPFrameConfig` Create configuration object for BLE L2CAP frame `bleL2CAPFrameDecode` Decode BLE L2CAP frame `bleLLAdvertisingChannelPDU` Generate BLE LL advertising channel PDU `bleLLAdvertisingChannelPDUDecode` Decode BLE LL advertising channel PDU `bleLLControlPDUConfig` Create configuration object for BLE LL control PDU payload configuration Generate BLE LL data channel PDU `bleLLDataChannelPDUConfig` Create configuration object for BLE LL data channel PDU Decode BLE LL data channel PDU `bleWaveformGenerator` Waveform generator for BLE PHY Binary symmetric channel Adjacent Channel Power Ratio measurements Adaptively adjust gain for constant signal-level output (To be removed) Deinterleave input symbols using algebraically derived permutation vector (To be removed) Permute input symbols using algebraically derived permutation vector Decode convolutional code using the a posteriori probability method Add white Gaussian noise to input signal Generate bipolar Barker code Read baseband signals from file Write baseband signals to file Decode data using BCH decoder Encode data using BCH encoder (To be removed) Introduce binary errors (To be removed) Deinterleave input symbols using permutation vector (To be removed) Permute input symbols using permutation vector Demodulate using BPSK method Modulate using BPSK method Compensate for carrier frequency offset Measure complementary cumulative distribution function Compensate for frequency offset for PAM, PSK, or QAM Display constellation diagram for input signals Restore ordering of symbols using shift registers Convolutionally encode binary data Permute input symbols using shift registers with same property values Demodulate using CPFSK method and Viterbi algorithm Modulate using CPFSK method (To be removed) Recover carrier phase of baseband CPM signal Demodulate using CPM method and Viterbi algorithm Modulate using CPM method Detect errors in input data using CRC Generate CRC code bits and append to input data Demodulate using DBPSK method Modulate using DBPSK method `comm.DecisionFeedbackEqualizer` Equalize modulated signals using decision feedback filtering Descramble input signal Decode binary signal using differential decoding Encode binary signal using differential coding Generate variable frequency sinusoid Digital predistorter Estimate memory-polynomial coefficients for digital predistortion Demodulate using M-ary DPSK method Modulate using M-ary DPSK method Demodulate using DQPSK method Modulate using DQPSK method Compute bit or symbol error rate of input data Measure error vector magnitude Display eye diagram of time-domain signals Demodulate broadcast FM signal Modulate broadcast FM signal Demodulate using FM method Modulate using FM method Demodulate using M-ary FSK method Modulate using M-ary FSK method Demodulate using arbitrary QAM constellation Modulate using arbitrary QAM constellation Demodulate convolutionally encoded data mapped to arbitrary QAM constellation Convolutionally encode binary data and map using arbitrary QAM constellation Demodulate using GMSK method and the Viterbi algorithm Modulate using GMSK method Recover symbol timing phase using fourth-order nonlinearity method Generate Gold sequence Generate Hadamard code Detect errors in input data using CRC Generate CRC code bits and append to input data Decode message using Reed-Solomon decoder Encode message using Reed-Solomon encoder Restore ordering of symbols using helical array Permute input symbols using helical array Integrate discrete-time signal with periodic resets Compensate for I/Q imbalance Generate Kasami sequence Decode binary low-density parity-check code Encode binary low-density parity-check code `comm.LinearEqualizer` Equalize modulated signals using linear filtering (To be removed) Filter input signal through LTE MIMO multipath fading channel (To be removed) Deinterleave input symbols using permutation matrix (To be removed) Deinterleave input symbols by filling a matrix along diagonals (To be removed) Permute input symbols by selecting matrix elements along diagonals (To be removed) Permute input symbols using permutation matrix Apply memoryless nonlinearity to input signal Measure modulation error ratio Filter input signal through MIMO multipath fading channel Equalize using maximum likelihood sequence estimation Demodulate using MSK method and the Viterbi algorithm Modulate using MSK method Recover symbol timing phase using fourth-order nonlinearity method Deinterleave input symbols using set of shift registers with specified delays Permute input symbols using set of shift registers with specified delays Demodulate using OFDM method Modulate using OFDM method Demodulation using OQPSK method Modulation using OQPSK method Combine inputs using orthogonal space-time block code Encode input using orthogonal space-time block code (Not recommended) Demodulate using M-ary PAM method (Not recommended) Modulate using M-ary PAM method Apply phase and frequency offsets to input signal Apply phase noise to baseband signal Generate a pseudo-noise (PN) sequence Detect preamble in data (To be removed) Estimate frequency offset for PSK signal Demodulate using M-ary PSK method Modulate using M-ary PSK method Demodulate convolutionally encoded data mapped to M-ary PSK signal constellation Convolutionally encode binary data and map using M-ary PSK signal constellation (To be removed) Estimate frequency offset for QAM signal Demodulate using QPSK method Modulate using QPSK method Apply pulse shaping by decimating signal using raised cosine filter Apply pulse shaping by interpolating signal using raised cosine filter Filter input signal through a Rayleigh multipath fading channel Generate RDS/RBDS waveform (To be removed) Demodulate using rectangular QAM signal constellation (To be removed) Modulate using rectangular QAM signal constellation Demodulate convolutionally encoded data mapped to rectangular QAM signal constellation Convolutionally encode binary data and map using rectangular QAM signal constellation Filter input signal through a Rician fading channel Decode data using Reed-Solomon decoder Encode data using Reed-Solomon encoder Scramble input signal Decode input using sphere decoder Correct symbol timing clock skew Add thermal noise to signal Decode input signal using parallel concatenated decoding scheme Encode input signal using parallel concatenated encoding scheme Decode convolutionally encoded data using Viterbi algorithm Generate Walsh code from orthogonal set of codes `convenc` Convolutionally encode binary data `de2bi` Convert decimal numbers to binary vectors `deintrlv` Restore ordering of symbols Construct Doppler spectrum structure `dpskdemod` Differential phase shift keying demodulation `dpskmod` Differential phase shift keying modulation Display vectors or arrays Block DC component (offset) from input signal Display frequency spectrum of time-domain signals Time domain signal display and measurement Low-density parity-check codes from DVB-S.2 standard `dvbsapskdemod` DVB-S2/S2X/SH standard-specific amplitude phase shift keying (APSK) demodulation `dvbsapskmod` DVB-S2/S2X/SH standard-specific amplitude phase shift keying (APSK) modulation `finddelay` Estimate delay(s) between signals RF signal attenuation due to fog and clouds Free space path loss RF signal attenuation due to atmospheric gases `genqamdemod` General quadrature amplitude demodulation `genqammod` General quadrature amplitude modulation `gray2bin` Convert Gray-encoded positive integers to corresponding Gray-decoded integers Inspect GSM burst against time mask Create GSM downlink TDMA frame configuration object `gsmFrame` Create GSM waveform `gsmInfo` View GSM waveform information Create GSM uplink TDMA frame configuration object `helscandeintrlv` Restore ordering of symbols in helical pattern `helscanintrlv` Reorder symbols in helical pattern `intrlv` Reorder sequence of symbols `iqcoef2imbal` Convert compensator coefficient to amplitude and phase imbalance `iqimbal` Apply I/Q imbalance to input signal `iqimbal2coef` Convert I/Q imbalance to compensator coefficient `istrellis` True for valid trellis structure `matdeintrlv` Restore ordering of symbols by filling matrix by columns and emptying it by rows `matintrlv` Reorder symbols by filling matrix by rows and emptying it by columns `mil188qamdemod` MIL-STD-188-110 B/C standard-specific quadrature amplitude demodulation `mil188qammod` MIL-STD-188-110 B/C standard-specific quadrature amplitude modulation (QAM) `oct2dec` Convert octal to decimal numbers `ofdmdemod` Demodulate time-domain signal using orthogonal frequency division multiplexing (OFDM) `ofdmmod` Modulate frequency-domain signal using orthogonal frequency division multiplexing (OFDM) `pamdemod` Pulse amplitude demodulation `pammod` Pulse amplitude modulation Convert convolutional code polynomials to trellis description `qamdemod` Quadrature amplitude demodulation `qammod` Quadrature amplitude modulation RF signal attenuation due to rainfall Uniformly distributed pseudorandom integers Range and angle calculation Raised cosine FIR pulse-shaping filter design Generator polynomial of Reed-Solomon code Generator polynomial coefficients of Reed-Solomon code Turbo product code (TPC) decoder Turbo product code (TPC) encoder `vitdec` Convolutionally decode binary data using Viterbi algorithm Generate white Gaussian noise samples `zadoffChuSeq` Generate root Zadoff-Chu sequence

### Computer Vision Toolbox

C and C++ code generation for the following functions and System objects requires the Computer Vision Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Detect objects using aggregate channel features 2-D affine geometric transformation 3-D affine geometric transformation `assignDetectionsToTracks` Assign detections to tracks for multiobject tracking `bbox2points` Convert rectangle to corner points list `bboxOverlapRatio` Compute bounding box overlap ratio `binaryFeatures` Object for storing binary feature vectors Object for storing BRISK interest points Camera projection matrix Object for storing camera parameters Compute relative rotation and translation between camera poses `cameraPoseToExtrinsics` Convert camera pose to extrinsics Object for storing corner points Detect objects using ACF object detector Detect BRISK features and return `BRISKPoints` object Detect checkerboard pattern in image Detect corners using FAST algorithm and return `cornerPoints` object Detect corners using Harrisâ€“Stephens algorithm and return `cornerPoints` object Detect KAZE features Detect corners using minimum eigenvalue algorithm and return `cornerPoints` object Detect MSER features and return `MSERRegions` object `detectORBFeatures` Detect and store ORB keypoints Detect SURF features and return `SURFPoints` object (Not recommended) Disparity map between stereo images `disparityBM` Compute disparity map using block matching `disparitySGM` Compute disparity map through semi-global matching `epipolarLine` Compute epipolar lines for stereo images Estimate essential matrix from corresponding points in a pair of images `estimateFlow` Estimate optical flow Estimate fundamental matrix from corresponding points in stereo images Estimate geometric transform from matching point pairs `estimateUncalibratedRectification` Uncalibrated stereo rectification Estimate camera pose from 3-D to 2-D point correspondences Extract interest point descriptors `extractHOGFeatures` Extract histogram of oriented gradients (HOG) features Extract local binary pattern (LBP) features Compute location of calibrated camera `extrinsicsToCameraPose` Convert extrinsics to camera pose Find nearest neighbors of a point in point cloud Find neighbors within a radius of a point in the point cloud `findPointsInROI` Find points within a region of interest in the point cloud `generateCheckerboardPoints` Generate checkerboard corner locations Crop image Resize image Apply geometric transformation to image Insert markers in image or video Annotate truecolor or grayscale image or video stream Insert shapes in image or video Insert text in image or video `isEpipoleInImage` Determine whether image contains epipole Object for storing KAZE interest points `lineToBorderPoints` Intersection points of lines in image and image border Find matching features Object for storing MSER regions Recognize text using optical character recognition Object for storing OCR results `opticalFlow` Object for storing optical flow matrices `opticalFlowFarneback` Object for estimating optical flow using Farneback method `opticalFlowHS` Object for estimating optical flow using Horn-Schunck method `opticalFlowLK` Object for estimating optical flow using Lucas-Kanade method `opticalFlowLKDoG` Object for estimating optical flow using Lucas-Kanade derivative of Gaussian method Object for storing ORB keypoints Remove noise from 3-D point cloud Downsample a 3-D point cloud Fit cylinder to 3-D point cloud Fit plane to 3-D point cloud Fit sphere to 3-D point cloud Merge two 3-D point clouds Estimate normals for point cloud Register two point clouds using CPD algorithm Register two point clouds using NDT algorithm Segment point cloud into clusters based on Euclidean distance Transform 3-D point cloud `pointCloud` Object for storing 3-D point cloud 2-D projective geometric transformation Reconstruct 3-D scene from disparity map Rectify a pair of stereo images Compute relative rotation and translation between camera poses `removeInvalidPoints` Remove invalid points from point cloud `reset` Reset the internal state of the optical flow estimation object `rotationMatrixToVector` Convert 3-D rotation matrix to rotation vector `rotationVectorToMatrix` Convert 3-D rotation vector to rotation matrix Segment organized 3-D range data into clusters `select` Select points in point cloud `selectStrongestBbox` Select strongest bounding boxes from overlapping clusters Select strongest multiclass bounding boxes from overlapping clusters `stereoAnaglyph` Create red-cyan anaglyph from stereo pair of images Object for storing stereo camera system parameters Object for storing SURF interest points 3-D locations of undistorted matching points in stereo images Correct image for lens distortion Combine images, overlay images, or highlight selected pixels Properties of connected regions Detect objects using the Viola-Jones algorithm Downsample or upsample chrominance components of images Remove motion artifacts by deinterlacing input video signal Display video Foreground detection using Gaussian mixture models Apply or remove gamma correction from images or video streams Histogram-based object tracking Correction of measurement, state, and state estimation error covariance Find local maxima in matrices Find maximum values in input or sequence of inputs Find mean values in input or sequence of inputs Find median values in input or sequence of inputs Find minimum values in input or sequence of inputs Detect upright people using HOG features Track points in video using Kanade-Lucas-Tomasi (KLT) algorithm Find standard deviation values in input or sequence of inputs Locate template in image Find variance values in input or sequence of inputs Read video frames and audio samples from video file Write video frames and audio samples to video file

### Control System Toolbox

C and C++ code generation for the following functions requires the Control System Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Create extended Kalman filter object for online state estimation Particle filter object for online state estimation Create unscented Kalman filter object for online state estimation

### Deep Learning Toolbox

C and C++ code generation for the following functions requires the Deep Learning Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Compute deep learning network layer activations Pretrained AlexNet convolutional neural network Directed acyclic graph (DAG) network for deep learning Generate MATLAB function for simulating shallow neural network Pretrained GoogLeNet convolutional neural network Pretrained Inception-v3 convolutional neural network Predict responses using a trained deep learning neural network Pretrained ResNet-101 convolutional neural network Pretrained ResNet-50 convolutional neural network Series network for deep learning Pretrained SqueezeNet convolutional neural network Pretrained VGG-16 convolutional neural network Pretrained VGG-19 convolutional neural network

You can use `genFunction` in the Deep Learning Toolbox to generate a standalone MATLAB function for a trained neural network. You can generate C/C++ code from this standalone MATLAB function. To generate Simulink® blocks, use the `gensim` function. See Deploy Shallow Neural Network Functions (Deep Learning Toolbox).

### DSP System Toolbox

C code generation for the following functions and System objects requires the DSP System Toolbox™ license. Many DSP System Toolbox functions require constant inputs for code generation.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Play to sound card Convert coupled allpass filter to transfer function form Convert coupled allpass lattice to transfer function form Multirate FIR filter design Adaptive lattice filter Compute output, error and coefficients using affine projection (AP) Algorithm Single section or cascaded allpass filter IIR Filter with no zeros Analytic signals of discrete-time inputs Display vectors or arrays Add array to vector along specified dimension Divide array by vector along specified dimension Multiply array by vector along specified dimension Subtract vector from array along specified dimension FIFO buffer Stream from audio file Stream to audio file Autocorrelation sequence Read data from binary file Write data to binary files IIR filter using biquadratic structures Compute output, error, and weights using block LMS adaptive algorithm (To be removed) Estimate of autoregressive (AR) model parameters using Burg method (To be removed) Parametric spectral estimate using Burg method (To be removed) Convert cepstral coefficients to linear prediction coefficients Polyphase FFT analysis filter bank Polyphase FFT synthesis filter bank Compensate for CIC decimation filter using FIR decimator Compensate for CIC interpolation filter using FIR interpolator Decimate signal using cascaded integrator-comb (CIC) filter Interpolate signal using cascaded integrator-comb filter Generate colored noise signal Extract a frequency subband using a one-sided (complex) bandpass decimator Convolution of two signals Count up or down through specified range of numbers Cross-correlation of two inputs Estimate cross-spectral density Cumulative product of channel, column, or row elements Cumulative sum of channel, column, or row elements Block DC component (offset) from input signal (To be removed) Discrete cosine transform (DCT) Delay input signal by fixed samples Rebuffer sequence of inputs with one-sample shift Direct form FIR fullband differentiator filter Translate digital signal from intermediate frequency (IF) band to baseband and decimate it Interpolate digital signal and translate it from baseband to IF band Polynomial sample rate converter with arbitrary conversion factor Fast transversal least-squares FIR adaptive filter Discrete Fourier transform Create cascade of filter System objects Filtered XLMS filter Polyphase FIR decimator Static or time-varying FIR filter Halfband decimator Halfband interpolator Polyphase FIR interpolator Sample rate converter Compute output, error, and coefficients using frequency-domain FIR adaptive filter Filter input signal in frequency domain Filter outliers using Hampel identifier FIR or IIR highpass filter (To be removed) Histogram of input or sequence of inputs (To be removed) Inverse discrete cosine transform (IDCT) Inverse discrete Fourier transform (IDFT) Infinite impulse response (IIR) filter Decimate by factor of two using polyphase IIR Interpolate by a factor of two using polyphase IIR Linear or polyphase FIR interpolation Inverse short-time FFT Estimate system measurements and states using Kalman filter Factor square Hermitian positive definite matrices into components Solve linear system of equations using Levinson-Durbin recursion Compute output, error, and weights of LMS adaptive filter Solve lower-triangular matrix equation FIR or IIR lowpass filter (To be removed) Convert linear prediction coefficients to autocorrelation coefficients (To be removed) Convert linear prediction coefficients to cepstral coefficients (To be removed) Convert linear prediction coefficients to line spectral frequencies (To be removed) Convert linear prediction coefficients to line spectral pairs (To be removed) Convert linear prediction coefficients to reflection coefficients (To be removed) Convert line spectral frequencies to linear prediction coefficients (To be removed) Convert line spectral pairs to linear prediction coefficients Factor square matrix into lower and upper triangular matrices (To be removed) Find maximum value of input or sequence of inputs (To be removed) Find mean value of input or sequence of inputs (To be removed) Median value of input Median filter (To be removed) Find minimum values of input or sequence of inputs Moving average Moving maximum Moving minimum Moving root mean square Moving standard deviation Moving variance Generate real or complex sinusoidal signals (To be removed) Vector normalization along specified dimension (To be removed) Identify peak values in input signal Peak-to-peak value Peak-to-root-mean-square value of vector Extract the unwrapped phase of a complex input Unwrap signal phase (To be removed) Convert reflection coefficients to autocorrelation coefficients (To be removed) Convert reflection coefficients to linear prediction coefficients Compute output, error and coefficients using recursive least squares (RLS) algorithm (To be removed) Root mean square of vector elements Multistage sample rate converter Convert each index value into quantized output value Associate input value with index value of quantization region Import variable from workspace Generate discrete sine wave Display frequency spectrum of time-domain signals Estimate power spectrum or power density spectrum (To be removed) Standard deviation of input or sequence of inputs State-level estimation for bilevel rectangular waveform `dsp.STFT` Short-time FFT Decompose signal into high-frequency and low-frequency subbands Reconstruct signal from high-frequency and low-frequency subbands Time domain signal display and measurement Estimate transfer function Receive UDP packets from the network Send UDP packets to network Solve upper-triangular matrix equation Variable bandwidth FIR filter Variable bandwidth IIR filter Delay input by time-varying fractional number of sample periods Delay input by time-varying integer number of sample periods (To be removed) Variance of input or sequence of inputs Vector quantizer codeword for given index value Vector quantization encoding Apply window to input signal Detect zero crossings High-resolution FFT of a portion of a spectrum Constrained equiripple FIR filter Equiripple FIR interpolators Parks-McClellan FIR filter Halfband FIR filter design Least P-norm optimal FIR filter Minimum-phase FIR spectral factor Lowpass Nyquist (Lth-band) FIR filter Two-channel FIR filter bank for perfect reconstruction Interpolated FIR filter design IIR comb notch or peak filter Optimal IIR filter with prescribed group-delay Least P-norm optimal IIR filter Constrained least Pth-norm optimal IIR filter Second-order IIR notch filter Second-order IIR peak or resonator filter Transfer function to coupled allpass Transfer function to coupled allpass lattice

### Fixed-Point Designer

The following general limitations apply to the use of Fixed-Point Designer™ functions in generated code, with `fiaccel`:

• `fipref` and `quantizer` objects are not supported.

• Word lengths greater than 128 bits are not supported.

• You cannot change the `fimath` or `numerictype` of a given `fi` variable after that variable has been created.

• The `boolean` value of the `DataTypeMode` and `DataType` properties are not supported.

• For all `SumMode` property settings other than `FullPrecision`, the `CastBeforeSum` property must be set to `true`.

• You can use parallel for (`parfor`) loops in code compiled with `fiaccel`, but those loops are treated like regular `for` loops.

• When you compile code containing `fi` objects with nontrivial slope and bias scaling, you may see different results in generated code than you achieve by running the same code in MATLAB.

• The general limitations of C/C++ code generated from MATLAB apply. For more information, see MATLAB Language Features Supported for C/C++ Code Generation (MATLAB Coder).

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `abs` Absolute value of `fi` object `accumneg` Subtract two `fi` objects or values `accumpos` Add two `fi` objects or values Add two objects using `fimath` object `atan2` Four-quadrant inverse tangent of fixed-point values Bitwise `AND` of two `fi` objects `bitandreduce` Reduce consecutive slice of bits to one bit by performing bitwise `AND` operation `bitcmp` Bitwise complement of `fi` object `bitconcat` Concatenate bits of `fi` objects `bitget` Get bits at certain positions Bitwise `OR` of two `fi` objects `bitorreduce` Reduce consecutive slice of bits to one bit by performing bitwise `OR` operation `bitreplicate` Replicate and concatenate bits of `fi` object `bitrol` Bitwise rotate left `bitror` Bitwise rotate right `bitset` Set bits at certain positions `bitshift` Shift bits specified number of places `bitsliceget` Get consecutive slice of bits Bit shift left logical Bit shift right arithmetic Bit shift right logical Bitwise exclusive `OR` of two `fi` objects `bitxorreduce` Reduce consecutive slice of bits to one bit by performing bitwise exclusive `OR` operation `ceil ` Round toward positive infinity `complex` Construct complex `fi` object from real and imaginary parts `conj` Complex conjugate of `fi` object Convolution and polynomial multiplication of `fi` objects `convergent` Round toward nearest integer with ties rounding to nearest even integer CORDIC-based absolute value CORDIC-based phase angle CORDIC-based four quadrant inverse tangent CORDIC-based approximation of Cartesian-to-polar conversion CORDIC-based approximation of complex exponential CORDIC-based approximation of cosine CORDIC-based approximation of polar-to-Cartesian conversion Rotate input using CORDIC-based approximation CORDIC-based approximation of sine CORDIC-based approximation of sine and cosine CORDIC-based approximation of square root `cos` Cosine of `fi` object `ctranspose` Complex conjugate transpose of `fi` object Divide two `fi` objects Double-precision floating-point real-world value of `fi` object Quantized relative accuracy for `fi` or `quantizer` objects Determine whether real-world values of two `fi` objects are equal Construct fixed-point numeric object One-dimensional digital filter of `fi` objects Set fixed-point math settings `fix` Round toward zero `fixed.Quantizer` Quantize fixed-point numbers `floor` Round toward negative infinity `for` Execute statements specified number of times Determine whether real-world value of one `fi` object is greater than or equal to another Property values of object `getlsb` Least significant bit `getmsb` Most significant bit Determine whether real-world value of one `fi` object is greater than another `horzcat` Horizontally concatenate multiple `fi` objects `int16` Convert `fi` object to signed 16-bit integer `int32` Convert `fi` object to signed 32-bit integer `int64` Convert `fi` object to signed 64-bit integer `int8` Convert `fi` object to signed 8-bit integer `isequal` Determine whether real-world values of two `fi` objects are equal, or determine whether properties of two `fimath`, `numerictype`, or `quantizer` objects are equal Determine whether variable is `fi` object `isfimath` Determine whether variable is `fimath` object `isfimathlocal` Determine whether `fi` object has local fimath `isnumerictype` Determine whether input is `numerictype` object `issigned` Determine whether `fi` object is signed Determine whether real-world value of `fi` object is less than or equal to another `lowerbound` Lower bound of range of `fi` object Scaling of least significant bit of `fi` object, or value of least significant bit of `quantizer` object Determine whether real-world value of one `fi` object is less than another `max` Largest element in array of `fi` objects `mean` Average or mean value of fixed-point array `median` Median value of fixed-point array `min` Smallest element in array of `fi` objects Matrix difference between `fi` objects Fixed-point matrix power (^) Multiply two objects using `fimath` object `mrdivide` Right-matrix division Matrix product of `fi` objects Determine whether real-world values of two `fi` objects are not equal `nearest` Round toward nearest integer with ties rounding toward positive infinity `numel` Number of data elements in `fi` array Construct `numerictype` object Matrix sum of `fi` objects `pow2` Efficient fixed-point multiplication by 2K Fixed-point element-wise power `qr` Orthogonal-triangular decomposition `quantize` Quantize fixed-point numbers `range` Numerical range of `fi` or `quantizer` object `rdivide` Right-array division `realmax` Largest positive fixed-point value or quantized number `realmin` Smallest positive normalized fixed-point value or quantized number `reinterpretcast` Convert fixed-point data types without changing underlying data `removefimath` Remove fimath object from `fi` object `rescale` Change scaling of `fi` object `round` Round `fi` object toward nearest integer or round input data using `quantizer` object `setfimath` Attach fimath object to `fi` object Construct signed fixed-point numeric object `sign` Perform signum function on array `sin` Sine of fixed-point values Single-precision floating-point real-world value of `fi` object Sort elements of real-valued `fi` object in ascending or descending order Square root of `fi` object `storedInteger` Stored integer value of `fi` object `storedIntegerToDouble` Convert stored integer value of `fi` object to built-in double value Subtract two objects using `fimath` object `subsasgn` Subscripted assignment `subsref` Subscripted reference Sum of array elements Element-by-element multiplication of `fi` objects Construct unsigned fixed-point numeric object `uint16` Convert `fi` object to unsigned 16-bit integer `uint32` Stored integer value of `fi` object as built-in `uint32` `uint64` Convert `fi` object to unsigned 64-bit integer `uint8` Convert `fi` object to unsigned 8-bit integer `uminus` Negate elements of `fi` object array `upperbound` Upper bound of range of `fi` object `vertcat` Vertically concatenate multiple `fi` objects

### Fuzzy Logic Toolbox

C and C++ code generation for the following functions requires the Fuzzy Logic Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `dsigmf` Difference between two sigmoidal membership functions Evaluate fuzzy inference system Option set for `evalfis` function `gauss2mf` Gaussian combination membership function `gaussmf` Gaussian membership function `gbellmf` Generalized bell-shaped membership function Create homogeneous fuzzy inference system structure `pimf` Pi-shaped membership function `psigmf` Product of two sigmoidal membership functions `sigmf` Sigmoidal membership function `smf` S-shaped membership function `trapmf` Trapezoidal membership function `trimf` Triangular membership function `zmf` Z-shaped membership function

### Image Acquisition Toolbox

C and C++ code generation for the following functions requires the Image Acquisition Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Acquire one frame at a time from video device

### Image Processing Toolbox

The following table lists the Image Processing Toolbox™ functions that have been enabled for code generation. You must have the MATLAB Coder™ software installed to generate C code from MATLAB for these functions.

Image Processing Toolbox provides three types of code generation support:

• Functions that generate C code.

• Functions that generate C code that depends on a platform-specific shared library (`.dll`, `.so`, or `.dylib`). Use of a shared library preserves performance optimizations in these functions, but this limits the target platforms for which you can generate code. For more information, see Code Generation for Image Processing (Image Processing Toolbox).

• Functions that generate C code or C code that depends on a shared library, depending on which target platform you specify in MATLAB Coder. If you specify the generic ```MATLAB Host Computer``` target platform, these functions generate C code that depends on a shared library. If you specify any other target platform, these functions generate C code.

In generated code, each supported toolbox function has the same name, arguments, and functionality as its Image Processing Toolbox counterpart. However, some functions have limitations. The following table includes information about code generation limitations that might exist for each function. In the following table, all the functions generate C code. The table identifies those functions that generate C code that depends on a shared library, and those functions that can do both, depending on which target platform you choose.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Adaptive image threshold using local first-order statistics 2-D affine geometric transformation 3-D affine geometric transformation Find region boundaries of segmentation Remove small objects from binary image Trace region boundaries in binary image Find connected components in binary image Distance transform of binary image Euler number of binary image Label connected components in 2-D binary image Nonlinear filtering using lookup tables Morphological operations on binary images Pack binary image Find perimeter of objects in binary image Select objects in binary image Trace object in binary image Unpack binary image Create connectivity array Convert Bayer pattern encoded image to truecolor image Find edges in intensity image 2-D fast Fourier transform `fftshift` Shift zero-frequency component to center of spectrum Fit geometric transformation to control point pairs `freqspace` Frequency spacing for frequency response Create predefined 2-D filter Create predefined 3-D filter Default display range of image based on its class Select contiguous image region with similar gray values Enhance contrast using histogram equalization Hough transform Extract line segments based on Hough transform Identify peaks in Hough transform `hsv2rgb` Convert HSV colors to RGB 2-D inverse fast Fourier transform `ifftshift` Inverse zero-frequency shift `im2double` Convert image to double precision Convert image to 16-bit signed integers Convert image to single precision Convert image to 16-bit unsigned integers Convert image to 8-bit unsigned integers Absolute difference of two images Adjust image intensity values or colormap Binarize 2-D grayscale image or 3-D volume by thresholding Bottom-hat filtering 2-D box filtering of images Suppress light structures connected to image border Morphologically close image Complement image Crop image Dilate image Erode image Extended-maxima transform Extended-minima transform Fill image regions and holes N-D filtering of multidimensional images Find circles using circular Hough transform Apply Gabor filter or set of filters to 2-D image 2-D Gaussian filtering of images Find gradient magnitude and direction of 3-D image Find directional gradients of 3-D image Histogram of image data H-maxima transform H-minima transform Linear combination of images Mean-squared error Morphologically open image Burn binary mask into 2-D image Image pyramid reduction and expansion Quantize image using specified quantization levels and output values Read image from graphics file Morphological reconstruction Reference 2-D image to world coordinates Reference 3-D image to world coordinates `imregcorr` Estimate geometric transformation that aligns two 2-D images using phase correlation Regional maxima Regional minima Resize image Rotate image `imsplit` Split multichannel image into its individual channels Top-hat filtering Translate image Apply geometric transformation to image `ind2rgb` Convert indexed image to RGB image Restore specific image regions using coherence transport based image inpainting 2-D box filtering of integral images `integralImage` Calculate 2-D integral image Convert integer values using lookup table Check validity of connectivity argument Check validity of colormap Convert CIE 1976 L*a*b* to RGB Convert label matrix to cell array of linear indices Convert label matrix into RGB image Average or mean of matrix elements 2-D median filtering Multilevel image thresholds using Otsu's method Morphological offset structuring element 2-D order-statistic filtering Global histogram threshold using Otsu's method Pad array 2-D projective geometric transformation Peak Signal-to-Noise Ratio (PSNR) Measure properties of image regions Convert RGB image or colormap to grayscale `rgb2hsv` Convert RGB colors to HSV Convert RGB to CIE 1976 L*a*b* Convert RGB color values to lightness values Convert RGB color values to YCbCr color space Morphological structuring element Find limits to contrast stretch image 2-D superpixel oversegmentation of images Watershed transform Convert YCbCr color values to RGB color space

### MATLAB Compiler

C and C++ code generation for the following functions requires the MATLAB Compiler™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Determine whether code is running in deployed or MATLAB mode Test if code is running during compilation process (using `mcc`)

### Model Predictive Control Toolbox

C and C++ code generation for the following function requires the Model Predictive Control Toolbox™.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Solve a quadratic programming problem using the KWIK algorithm

C and C++ code generation for the following functions requires the Navigation Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `accelparams` Accelerometer sensor parameters Add relative pose to pose graph Add scan to lidar SLAM map `ahrs10filter` Height and orientation from MARG and altimeter readings Orientation from accelerometer, gyroscope, and magnetometer readings Altimeter simulation model `angdiff` Difference between two angles `axang2quat` Convert axis-angle rotation to quaternion `axang2rotm` Convert axis-angle rotation to rotation matrix `axang2tform` Convert axis-angle rotation to homogeneous transformation `binaryOccupancyMap` Create occupancy grid with binary values `cart2frenet` Convert Cartesian states to Frenet states `cart2hom` Convert Cartesian coordinates to homogeneous coordinates `classUnderlying` Class of parts within quaternion `compact` Convert quaternion array to N-by-4 matrix `complementaryFilter` Orientation estimation from a complementary filter `conj` Complex conjugate of quaternion `connect` Connect poses for given connection type `controllerPurePursuit` Create controller to follow set of waypoints `controllerVFH` Avoid obstacles using vector field histogram Copy lidar SLAM object `ctranspose, '` Complex conjugate transpose of quaternion array `dist` Angular distance in radians `dubinsConnection` Dubins path connection type `dubinsPathSegment` Dubins path segment connecting two poses `ecompass` Orientation from magnetometer and accelerometer readings Edge constraints in pose graph Edges in pose graph `eul2quat` Convert Euler angles to quaternion `eul2rotm` Convert Euler angles to rotation matrix `eul2tform` Convert Euler angles to homogeneous transformation `euler` Convert quaternion to Euler angles (radians) `eulerd` Convert quaternion to Euler angles (degrees) `exp` Exponential of quaternion array Find edge ID of edge `frenet2cart` Convert Frenet states to Cartesian states GPS receiver simulation model `gyroparams` Gyroscope sensor parameters `hom2cart` Convert homogeneous coordinates to Cartesian coordinates Orientation from accelerometer and gyroscope readings IMU simulation model `insfilter` Create inertial navigation filter `insfilterAsync` Estimate pose from asynchronous MARG and GPS data `insfilterErrorState` Estimate pose from IMU, GPS, and monocular visual odometry (MVO) data `insfilterMARG` Estimate pose from MARG and GPS data `insfilterNonholonomic` Estimate pose with nonholonomic constraints `interpolate` Interpolate poses along path segment Rate-driven trajectory generator `ldivide, .\` Element-wise quaternion left division `lidarScan` Create object for storing 2-D lidar scan Perform localization and mapping using lidar scans `log` Natural logarithm of quaternion array `magparams` Magnetometer sensor parameters Estimate pose between two laser scans `matchScansGrid` Estimate pose between two lidar scans using grid-based search `meanrot` Quaternion mean rotation `minus, -` Quaternion subtraction `mtimes, *` Quaternion multiplication `nav.StateSpace` Create state space for path planning Create state validator for path planning Poses of nodes in pose graph `norm` Quaternion norm `normalize` Quaternion normalization `occupancyMap` Create occupancy map with probabilistic values `odometryMotionModel` Create an odometry motion model `ones` Create quaternion array with real parts set to one and imaginary parts set to zero Optimize nodes in pose graph `parts` Extract quaternion parts `plan` Plan optimal trajectory Create 2-D pose graph Create 3-D pose graph `power, .^` Element-wise quaternion power `prod` Product of a quaternion array `quat2axang` Convert quaternion to axis-angle rotation `quat2eul` Convert quaternion to Euler angles `quat2rotm` Convert quaternion to rotation matrix `quat2tform` Convert quaternion to homogeneous transformation `quaternion` Create a quaternion array `randrot` Uniformly distributed random rotations `rdivide, ./` Element-wise quaternion right division `reedsSheppConnection` Reeds-Shepp path connection type `reedsSheppPathSegment` Reeds-Shepp path segment connecting two poses Remove loop closure edges from graph Remove loop closures from pose graph `rotateframe` Quaternion frame rotation `rotatepoint` Quaternion point rotation `rotm2axang` Convert rotation matrix to axis-angle rotation `rotm2eul` Convert rotation matrix to Euler angles `rotm2quat` Convert rotation matrix to quaternion `rotm2tform` Convert rotation matrix to homogeneous transformation `rotmat` Convert quaternion to rotation matrix `rotvec` Convert quaternion to rotation vector (radians) `rotvecd` Convert quaternion to rotation vector (degrees) Extract scans and corresponding poses `slerp` Spherical linear interpolation `stateEstimatorPF` Create particle filter state estimator `stateSpaceDubins` State space for Dubins vehicles `stateSpaceReedsShepp` State space for Reeds-Shepp vehicles `stateSpaceSE2` SE(2) state space `tform2axang` Convert homogeneous transformation to axis-angle rotation `tform2eul` Extract Euler angles from homogeneous transformation `tform2quat` Extract quaternion from homogeneous transformation `tform2rotm` Extract rotation matrix from homogeneous transformation `tform2trvec` Extract translation vector from homogeneous transformation `times, .*` Element-wise quaternion multiplication Find optimal trajectory for reference path `transformScan` Transform laser scan based on relative pose `transpose, .'` Transpose a quaternion array `trvec2tform` Convert translation vector to homogeneous transformation `uminus, -` Quaternion unary minus State validator based on 2-D grid map Waypoint trajectory generator `zeros` Create quaternion array with all parts set to zero

### Optimization Toolbox

C and C++ code generation for the following functions and System objects requires the Optimization Toolbox™.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Find minimum of single-variable function on fixed interval Find minimum of constrained nonlinear multivariable function Find minimum of unconstrained multivariable function using derivative-free method Root of nonlinear function Solve nonnegative linear least-squares problem Solve systems of linear equations Ax = B for x Optimization options values Create or edit optimization options structure

### Phased Array System Toolbox

C and C++ code generation for the following functions and System objects requires the Phased Array System Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Dimension of signal subspace Required SNR using Albersheim's equation Ambiguity and crossambiguity function Convert effective aperture to gain Convert azimuth and elevation angle to broadside angle Convert angles from azimuth/elevation form to phi/theta form Convert radiation pattern from azimuth-elevation to phi-theta coordinates Convert azimuth/elevation angles to u/v coordinates Convert radiation pattern from azimuth/elevation form to u/v form Spherical basis vectors in 3-by-3 matrix form `azelcut2pat` Create 3-D response pattern from azimuth and elevation cuts `backscatterBicyclist` Backscatter radar signals from bicyclist `backscatterPedestrian` Backscatter radar signals from pedestrian Convert beat frequency to range Billingsley's intrinsic clutter motion (ICM) model Convert broadside angle to azimuth angle Convert bandwidth to range resolution Convert vector from Cartesian components to spherical representation Conventional beamformer weights Convert circular component representation of field to linear component representation `clone` Create identical object `clone` Copy of alpha-beta tracking filter `clusterDBSCAN` Data clustering `correct` Correct the state and state estimation error covariance Perform dechirp operation on FMCW signal Delay or advance sequence Depression angle of surface target Diagonalize MIMO channel Find cluster hierarchy in data `distance` Distances between measurements and predicted measurements Convert Doppler shift to speed Doppler steering vector Effective earth radius Direction of arrival using TLS ESPRIT Estimate neighborhood clustering threshold RF signal attenuation due to fog and clouds Free space path loss Convert gain to effective aperture RF signal attenuation due to atmospheric gases Generalized cross-correlation `getMonopulseEstimator` Create monopulse estimator from monopulse feed `getNumScatterers` Number of scatterers on bicyclist Convert global to local coordinates Grazing angle of surface target Horizon range Narrowband linearly constrained minimum variance (LCMV) beamformer weights `likelihood` Likelihood of measurement Convert local to global coordinates Dimension of signal subspace `move` Position, velocity, and orientation of moving bicyclist `move` Position and velocity of walking pedestrian Estimate arrival directions of signals using MUSIC Minimum variance distortionless response (MVDR) beamformer weights Receiver noise power Detection SNR threshold for signal in white Gaussian noise `ompdecomp` Decomposition using orthogonal matching pursuit `omphybweights` Hybrid beamforming weights using orthogonal matching pursuit Periodic ambiguity function Adaptive DPCA (ADPCA) pulse canceller `phased.AlphaBetaFilter` Alpha-beta filter for object tracking Angle-Doppler response Sensor array gain Sensor array response Backscatter radar target Sonar target backscatter Barrage jammer Beamscan spatial spectrum estimator for ULA 2-D beamscan spatial spectrum estimator Beamspace ESPRIT direction of arrival (DOA) estimator for ULA Constant false alarm rate (CFAR) detector Two-dimensional CFAR detector Narrowband signal collector Conformal array Constant gamma clutter simulation Cosine antenna element Crossed-dipole antenna element Custom antenna element Custom microphone Doppler estimation Displaced phase center array (DPCA) pulse canceller Sensor array element delay estimator ESPRIT direction of arrival (DOA) estimator for ULA FMCW waveform Free space environment Frost beamformer Wideband direction of arrival estimation Generalized sidelobe canceler beamformer Heterogeneous conformal array Heterogeneous uniform linear array Heterogeneous uniform rectangular array Isospeed multipath sonar channel Isotropic antenna element Isotropic hydrophone Isotropic projector Narrowband LCMV beamformer Linear FM pulse waveform Narrowband LOS propagation channel Matched filter MFSK waveform Amplitude monopulse direction finding Creates sum and difference channels Propagate signals in multipath channel Estimate direction of arrival using narrowband MUSIC algorithm for ULA Estimate 2D direction of arrival using narrowband MUSIC algorithm Narrowband minimum-variance distortionless-response beamformer MVDR (Capon) spatial spectrum estimator for ULA 2-D MVDR (Capon) spatial spectrum estimator Omnidirectional microphone Phased array partitioned into subarrays Phase-coded pulse waveform Narrowband phase shift beamformer Model platform motion Create a library of pulse compression specifications Create a library of pulse waveforms Radar target Narrowband signal radiator Range-angle response Range-Doppler response Range estimation Range response Receiver preamp Rectangular pulse waveform Phased array formed by replicated subarrays Root MUSIC direction of arrival (DOA) estimator for ULA and UCA Root WSF direction of arrival (DOA) estimator for ULA Scattering MIMO channel Short-dipole antenna element Sample matrix inversion (SMI) beamformer Sensor array steering vector Stepped FM pulse waveform Stretch processor for linear FM waveform Wideband minimum-variance distortionless-response beamformer Subband phase shift beamformer Sum and difference monopulse for ULA Sum and difference monopulse for URA Time delay beamformer Time delay LCMV beamformer Time varying gain control Transmitter Two-ray propagation channel Uniform circular array Uniform linear array Radiate acoustic noise from underwater or surface sound source Uniform rectangular array Backscatter wideband signal from radar target Wideband signal collector Wideband freespace propagation Wideband LOS propagation channel Wideband signal radiator Wideband two-ray propagation channel Convert angles from phi/theta form to azimuth/elevation form Convert radiation pattern from phi/theta form to azimuth/elevation form Convert phi/theta angles to u/v coordinates Convert radiation pattern from phi/theta form to u/v form Physical constants Array calibration using pilot sources Convert linear component representation of field to circular component representation Parameters of ellipse traced out by tip of a polarized field vector Polarization loss Ratio of vertical to horizontal linear polarization components of a field Copolarization and cross-polarization signatures `predict` Predict the state and state estimation error covariance Pulse integration Peak power estimate from radar equation Maximum theoretical range estimate SNR estimate from radar equation Vertical coverage diagram Relative radial speed RF signal attenuation due to rainfall Convert range to beat frequency Convert range resolution to required bandwidth Convert propagation distance to propagation time Compute underwater sound transmission loss from range Range and angle calculation `rcscylinder` Radar cross section of cylinder `rcsdisc` Radar cross section of flat circular plate `rcstruncone` Radar cross section of truncated cone Range Doppler coupling `reflect` Reflected signal from walking pedestrian `reflect` Reflected signal from moving bicyclist `release` Release resources and allow changes to object property values and input characteristics `reset` Reset object state and property values Receiver operating characteristic curves by false-alarm probability Receiver operating characteristic curves by SNR Direction of arrival using Root MUSIC `rotpat` Rotate radiation pattern Rotation matrix for rotations around x-axis Rotation matrix for rotations around y-axis Rotation matrix for rotations around z-axis Scattering channel matrix Sensor spatial covariance matrix Simulate received signal at sensor array Required SNR using Shnidman's equation Compute source level using the sonar equation Compute SNR using the sonar equation Compute transmission loss using the sonar equation Convert speed to Doppler shift Convert vector from spherical basis components to Cartesian components Spatial smoothing Steering vector Stokes parameters of polarized field Convert frequency offset to range Gamma value for different terrains Surface clutter radar cross section (RCS) Receiver system-noise temperature Taylor nbar taper for arrays Convert propagation time to propagation distance Compute range from underwater transmission loss Uniform grid Convert u/v coordinates to azimuth/elevation angles Convert radiation pattern from u/v form to azimuth/elevation form Convert u/v coordinates to phi/theta angles Convert radiation pattern from u/v form to phi/theta form Uniform grid index Waterfill MIMO power distribution

### Robotics System Toolbox

C and C++ code generation for the following functions requires the Robotics System Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `ackermannKinematics` Create car-like steering vehicle model `angdiff` Difference between two angles `axang2quat` Convert axis-angle rotation to quaternion `axang2rotm` Convert axis-angle rotation to rotation matrix `axang2tform` Convert axis-angle rotation to homogeneous transformation `bicycleKinematics` Create bicycle vehicle model `binaryOccupancyMap` Create occupancy grid with binary values `bsplinepolytraj` Generate polynomial trajectories using B-splines `cart2hom` Convert Cartesian coordinates to homogeneous coordinates `classUnderlying` Class of parts within quaternion `compact` Convert quaternion array to N-by-4 matrix `conj` Complex conjugate of quaternion `constraintAiming` Create aiming constraint for pointing at a target location `constraintCartesianBounds` Create constraint to keep body origin inside Cartesian bounds `constraintJointBounds` Create constraint on joint positions of robot model `constraintOrientationTarget` Create constraint on relative orientation of body `constraintPoseTarget` Create constraint on relative pose of body `constraintPositionTarget` Create constraint on relative position of body `control` Control commands for UAV `controllerPurePursuit` Create controller to follow set of waypoints `ctranspose, '` Complex conjugate transpose of quaternion array `cubicpolytraj` Generate third-order polynomial trajectories `derivative` Time derivative of UAV states `differentialDriveKinematics` Create differential-drive vehicle model `dist` Angular distance in radians `environment` Environmental inputs for UAV `eul2quat` Convert Euler angles to quaternion `eul2rotm` Convert Euler angles to rotation matrix `eul2tform` Convert Euler angles to homogeneous transformation `euler` Convert quaternion to Euler angles (radians) `eulerd` Convert quaternion to Euler angles (degrees) `exp` Exponential of quaternion array `fixedwing` Guidance model for fixed-wing UAVs Create multiconstraint inverse kinematics solver `hom2cart` Convert homogeneous coordinates to Cartesian coordinates Create inverse kinematic solver `jointSpaceMotionModel` Model rigid body tree motion given joint-space inputs `ldivide, .\` Element-wise quaternion left division `lidarScan` Create object for storing 2-D lidar scan `log` Natural logarithm of quaternion array `meanrot` Quaternion mean rotation `minus, -` Quaternion subtraction Create probabilistic roadmap path planner `mtimes, *` Quaternion multiplication `multirotor` Guidance model for multirotor UAVs `norm` Quaternion norm `normalize` Quaternion normalization `ones` Create quaternion array with real parts set to one and imaginary parts set to zero `parts` Extract quaternion parts `power, .^` Element-wise quaternion power `prod` Product of a quaternion array `quat2axang` Convert quaternion to axis-angle rotation `quat2eul` Convert quaternion to Euler angles `quat2rotm` Convert quaternion to rotation matrix `quat2tform` Convert quaternion to homogeneous transformation `quaternion` Create a quaternion array `quinticpolytraj` Generate fifth-order trajectories `randrot` Uniformly distributed random rotations `rdivide, ./` Element-wise quaternion right division `rigidBody` Create a rigid body `rigidBodyJoint` Create a joint Create tree-structured robot `rotateframe` Quaternion frame rotation `rotatepoint` Quaternion point rotation `rotm2axang` Convert rotation matrix to axis-angle rotation `rotm2eul` Convert rotation matrix to Euler angles `rotm2quat` Convert rotation matrix to quaternion `rotm2tform` Convert rotation matrix to homogeneous transformation `rotmat` Convert quaternion to rotation matrix `rottraj` Generate trajectories between orientation rotation matrices `rotvec` Convert quaternion to rotation vector (radians) `rotvecd` Convert quaternion to rotation vector (degrees) `slerp` Spherical linear interpolation `state` UAV state vector `stateEstimatorPF` Create particle filter state estimator `taskSpaceMotionModel` Model rigid body tree motion given task-space reference inputs `tform2axang` Convert homogeneous transformation to axis-angle rotation `tform2eul` Extract Euler angles from homogeneous transformation `tform2quat` Extract quaternion from homogeneous transformation `tform2rotm` Extract rotation matrix from homogeneous transformation `tform2trvec` Extract translation vector from homogeneous transformation `times, .*` Element-wise quaternion multiplication `transformScan` Transform laser scan based on relative pose `transformtraj` Generate trajectories between two transformations `transpose, .'` Transpose a quaternion array `trapveltraj` Generate trajectories with trapezoidal velocity profiles `trvec2tform` Convert translation vector to homogeneous transformation `uavOrbitFollower` Orbit location of interest using a UAV `uavWaypointFollower` Follow waypoints for UAV `uminus, -` Quaternion unary minus `unicycleKinematics` Create unicycle vehicle model `zeros` Create quaternion array with all parts set to zero

### Sensor Fusion and Tracking Toolbox

C and C++ code generation for the following functions requires the Sensor Fusion and Tracking Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `accelparams` Accelerometer sensor parameters `ahrs10filter` Height and orientation from MARG and altimeter readings Orientation from accelerometer, gyroscope, and magnetometer readings Altimeter simulation model `append` Append two `phd` filter objects `assignauction` Assignment using auction global nearest neighbor `assignjv` Jonker-Volgenant global nearest neighbor assignment algorithm `assignkbest` Assignment using k-best global nearest neighbor `assignkbestsd` K-best S-D solution that minimizes total cost of assignment `assignmunkres` Munkres global nearest neighbor assignment algorithm `assignsd` S-D assignment using Lagrangian relaxation `assignTOMHT` Track-oriented multi-hypotheses tracking assignment `AsyncMARGGPSFuser` Estimate pose from asynchronous MARG and GPS data `cameas` Measurement function for constant-acceleration motion `cameasjac` Jacobian of measurement function for constant-acceleration motion `checkConfirmation` Check if track should be confirmed `checkDeletion` Check if track should be deleted `classUnderlying` Class of parts within quaternion `clone` Create duplicate tracking filter `clone` Create duplicate `phd` filter object `clone` Create copy of track logic Cluster track-oriented multi-hypothesis history `compact` Convert quaternion array to N-by-4 matrix Formulate global hypotheses from clusters `complementaryFilter` Orientation estimation from a complementary filter `conj` Complex conjugate of quaternion `constacc` Constant-acceleration motion model `constaccjac` Jacobian for constant-acceleration motion `constturn` Constant turn-rate motion model `constturnjac` Jacobian for constant turn-rate motion `constvel` Constant velocity state update `constveljac` Jacobian for constant-velocity motion `constvelmsc` Constant velocity (CV) motion model in MSC frame `constvelmscjac` Jacobian of constant velocity (CV) motion model in MSC frame `correct` Correct states using direct state measurements `correct` Correct states using direct state measurements `correct` Correct `phd` filter with detections `correct` Correct states using direct state measurements `correct` Correct state and state estimation error covariance using tracking filter `correct` Correct states using direct state measurements `correct` Correct states using direct state measurements Correct state and state estimation error covariance using tracking filter and JPDA `correctUndetected` Correct `phd` filter with no detection hypothesis `ctmeas` Measurement function for constant turn-rate motion `ctmeasjac` Jacobian of measurement function for constant turn-rate motion ```ctranspose, '``` Complex conjugate transpose of quaternion array `ctrect` Constant turn-rate rectangular target motion model `ctrectcorners` Corner measurements of constant turn-rate rectangular target `ctrectjac` Jacobian of constant turn-rate rectangular target motion model `ctrectmeas` Constant turn-rate rectangular target measurement model `ctrectmeasjac` Jacobian of constant turn-rate rectangular target measurement model `cvmeas` Measurement function for constant velocity motion `cvmeasjac` Jacobian of measurement function for constant velocity motion `cvmeasmsc` Measurement based on constant velocity (CV) model in MSC frame `cvmeasmscjac` Jacobian of measurement using constant velocity (CV) model in MSC frame `dist` Angular distance in radians `distance` Distances between current and predicted measurements of tracking filter `ecompass` Orientation from magnetometer and accelerometer readings `emissionsInBody` Transform emissions to body frame of platform `ErrorStateIMUGPSFuser` Estimate pose from IMU, GPS, and monocular visual odometry (MVO) data `euler` Convert quaternion to Euler angles (radians) `eulerd` Convert quaternion to Euler angles (degrees) `exp` Exponential of quaternion array `extractState` Extract target state estimates from the `phd` filter `fuseaccel` Correct states using accelerometer data `fusealtimeter` Correct states using altimeter data `fusecovint` Covariance fusion using covariance intersection `fusecovunion` Covariance fusion using covariance union `fusegps` Correct states using GPS data `fusegps` Correct states using GPS data `fusegps` Correct states using GPS data `fusegps` Correct states using GPS data `fusegyro` Correct states using gyroscope data `fusemag` Correct states using magnetometer data `fusemag` Correct states using magnetometer data `fusemag` Correct states using magnetometer data `fusemvo` Correct states using monocular visual odometry `fuserSourceConfiguration` Configuration of source used with track fuser `fusexcov` Covariance fusion using cross-covariance `getTrackPositions` Returns updated track positions and position covariance matrix `getTrackVelocities` Obtain updated track velocities and velocity covariance matrix Gamma Gaussian Inverse Wishart (GGIW) PHD filter Gaussian mixture (GM) PHD filter GPS receiver simulation model `gyroparams` Gyroscope sensor parameters `hit` Update track logic with subsequent hit Orientation from accelerometer and gyroscope readings IMU simulation model `init` Initialize track logic with first hit `initapekf` Constant velocity angle-parameterized EKF initialization `initcaabf` Create constant acceleration alpha-beta tracking filter from detection report `initcackf` Create constant acceleration tracking cubature Kalman filter from detection report `initcaekf` Create constant-acceleration extended Kalman filter from detection report `initcaggiwphd` Create constant acceleration `ggiwphd` filter `initcagmphd` Create constant acceleration `gmphd` filter `initcakf` Create constant-acceleration linear Kalman filter from detection report `initcapf` Create constant acceleration tracking particle filter from detection report `initcaukf` Create constant-acceleration unscented Kalman filter from detection report `initctckf` Create constant turn rate tracking cubature Kalman filter from detection report `initctekf` Create constant turn-rate extended Kalman filter from detection report `initctggiwphd` Create constant turn-rate `ggiwphd` filter `initctgmphd` Create constant turn-rate `gmphd` filter `initctpf` Create constant turn rate tracking particle filter from detection report `initctrectgmphd` Create constant turn-rate rectangular target `gmphd` filter `initctukf` Create constant turn-rate unscented Kalman filter from detection report `initcvabf` Create constant velocity tracking alpha-beta filter from detection report `initcvckf` Create constant velocity tracking cubature Kalman filter from detection report `initcvekf` Create constant-velocity extended Kalman filter from detection report `initcvggiwphd` Create constant velocity `ggiwphd` filter `initcvgmphd` Create constant velocity `gmphd` filter `initcvkf` Create constant-velocity linear Kalman filter from detection report `initcvmscekf` Constant velocity `trackingMSCEKF` initialization `initcvpf` Create constant velocity tracking particle filter from detection report `initcvukf` Create constant-velocity unscented Kalman filter from detection report `initekfimm` Initialize `trackingIMM` object `initialize` Initialize state and covariance of tracking filter `initrpekf` Constant velocity range-parameterized EKF initialization `insfilter` Create inertial navigation filter `insfilterMARG` Estimate pose from MARG and GPS data `insfilterNonholonomic` Estimate pose with nonholonomic constraints Inertial navigation and GPS simulation model Generate infrared detections for tracking scenario `irSignature` Infrared platform signature `irSignature.value` Infrared intensity at specified angle and frequency Feasible joint events for trackerJPDA Rate-driven trajectory generator `labeledDensity` Keep components with a given label ID ```ldivide, .\``` Element-wise quaternion left division `likelihood` Log-likelihood of association between detection cells and components in the density `likelihood` Likelihood of measurement from tracking filter `log` Natural logarithm of quaternion array `magparams` Magnetometer sensor parameters `meanrot` Quaternion mean rotation `merge` Merge components in the density of `phd` filter `mergeScores` Update track score by track merging ```minus, -``` Quaternion subtraction `miss` Update track logic with miss Generate radar detections for tracking scenario ```mtimes, *``` Quaternion multiplication `norm` Quaternion norm `normalize` Quaternion normalization `objectDetection` Report for single object detection Single object track report `ones` Create quaternion array with real parts set to one and imaginary parts set to zero `output` Get current state of track logic Partition detections based on Mahalanobis distance `parts` Extract quaternion parts `pose` Current orientation and position estimate `pose` Current orientation and position estimate `pose` Current orientation and position estimate `pose` Current orientation and position estimate `pose` Current position, orientation, and velocity estimate ```power, .^``` Element-wise quaternion power `predict` Predict probability hypothesis density of phd filter `predict` Update states using accelerometer and gyroscope data `predict` Update states using accelerometer and gyroscope data `predict` Predict state and state estimation error covariance of tracking filter `predict` Update states using accelerometer and gyroscope data `predict` Update states using accelerometer and gyroscope data `predict` Update states based on motion model `predict (trackingKF)` Predict state and state estimation error covariance of linear Kalman filter `prod` Product of a quaternion array `prune` Prune the filter by removing selected components `pruneTrackBranches` Prune track branches with low likelihood `quaternion` Create a quaternion array `radarChannel` Free space propagation and reflection of radar signals `radarEmission` Emitted radar signal structure Radar signals and interferences generator Generate detections from radar emissions `randrot` Uniformly distributed random rotations `rcsSignature` Radar cross-section pattern `rcsSignature.value` Radar cross-section at specified angle and frequency ```rdivide, ./``` Element-wise quaternion right division `reset` Reset state of track logic `reset` Reset internal states `reset` Reset internal states `reset` Reset internal states `reset` Reset internal states `reset` Reset internal states `residual` Measurement residual and residual noise from tracking filter `rotateframe` Quaternion frame rotation `rotatepoint` Quaternion point rotation `rotmat` Convert quaternion to rotation matrix `rotvec` Convert quaternion to rotation vector (radians) `rotvecd` Convert quaternion to rotation vector (degrees) `scale` Scale weights of components in the density `slerp` Spherical linear interpolation `sonarEmission` Emitted sonar signal structure Acoustic signals and interferences generator Generate detections from sonar emissions `stateinfo` Display state vector information `stateinfo` Display state vector information `stateinfo` Display state vector information `stateinfo` Display state vector information `stateinfo` Display state vector information Static fusion of synchronous sensor detections `switchimm` Model conversion function for `trackingIMM` object `sync` Synchronize scores of `trackScoreLogic` objects ```times, .*``` Element-wise quaternion multiplication `toStruct` Convert `objectTrack` object to `struct` Multi-sensor, multi-object tracker using GNN assignment Joint probabilistic data association tracker Multi-sensor, multi-object PHD tracker Multi-hypothesis, multi-sensor, multi-object tracker Single-hypothesis track-to-track fuser `trackHistoryLogic` Confirm and delete tracks based on recent track history `trackingABF` Alpha-beta filter for object tracking `trackingCKF` Cubature Kalman filter for object tracking `trackingEKF` Extended Kalman filter for object tracking `trackingGSF` Gaussian-sum filter for object tracking `trackingIMM` Interacting multiple model (IMM) filter for object tracking Linear Kalman filter for object tracking `trackingPF` Particle filter for object tracking `trackingSensorConfiguration` Represent sensor configuration for tracking `trackingUKF` Unscented Kalman filter for object tracking `trackOSPAMetric` Optimal subpattern assignment (OSPA) metric `trackScoreLogic` Confirm and delete tracks based on track score ```transpose, .'``` Transpose a quaternion array `triangulateLOS` Triangulate multiple line-of-sight detections `tsSignature` Target strength pattern `tsSignature.value` Target strength at specified angle and frequency ```uminus, -``` Quaternion unary minus `underwaterChannel` Propagated and reflected sonar signals Waypoint trajectory generator `zeros` Create quaternion array with all parts set to zero

### SerDes Toolbox

C and C++ code generation for the following functions requires the SerDes Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Automatically adjusts gain to maintain output waveform amplitude Performs clock data recovery function Create simple lossy transmission line model Continuous time linear equalizer (CTLE) or peaking filter Decision feedback equalizer (DFE) with clock and data recovery (CDR) Models a feed-forward equalizer Propagates baseband signal without modification Models a saturating amplifier Models a variable gain amplifier

### Signal Processing Toolbox

C and C++ code generation for the following functions requires the Signal Processing Toolbox™ software. These functions do not support variable-size inputs, you must define the size and type of the function inputs. For more information, see Specifying Inputs in Code Generation from MATLAB (Signal Processing Toolbox).

### Note

Many Signal Processing Toolbox functions require constant inputs in generated code. To specify a constant input for `codegen`, use `coder.Constant`.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `abs` Absolute value and complex magnitude `alignsignals` Align two signals by delaying earliest signal `angle` Phase angle `barthannwin` Modified Bartlett-Hann window `bartlett` Bartlett window Bessel analog lowpass filter prototype `bitrevorder` Permute data into bit-reversed order `blackman` Blackman window `blackmanharris` Minimum four-term Blackman-Harris window `bohmanwin` Bohman window `buttap` Butterworth filter prototype Butterworth filter design Butterworth filter order and cutoff frequency `cconv` Modulo-n circular convolution Complex and nonlinear-phase equiripple FIR filter design Chebyshev Type I analog lowpass filter prototype Chebyshev Type I filter order Chebyshev Type II analog lowpass filter prototype Chebyshev Type II filter order `chebwin` Chebyshev window Chebyshev Type I filter design Chebyshev Type II filter design `chirp` Swept-frequency cosine Convolution and polynomial multiplication `conv2` 2-D convolution `convmtx` Convolution matrix Correlation coefficients `corrmtx` Data matrix for autocorrelation matrix estimation Covariance `cpsd` Cross power spectral density `cummax` Cumulative maximum `cummin` Cumulative minimum Chirp Z-transform `db2pow` Convert decibels to power Discrete cosine transform Deconvolution and polynomial division Remove polynomial trend `dftmtx` Discrete Fourier transform matrix `diric` Dirichlet or periodic sinc function `downsample` Decrease sample rate by integer factor Discrete prolate spheroidal (Slepian) sequences Elliptic filter design Elliptic analog lowpass filter prototype Minimum order for elliptic filters `emd` Empirical mode decomposition Signal envelope `envspectrum` Envelope spectrum for machinery diagnosis `eqtflength` Equalize lengths of transfer function's numerator and denominator Fast Fourier transform 2-D fast Fourier transform FFT-based FIR filtering using overlap-add method `fftshift` Shift zero-frequency component to center of spectrum Fill missing values Detect and replace outliers in data 1-D digital filter `filter2` 2-D digital filter Zero-phase digital filtering `filtord` Filter order `finddelay` Estimate delay(s) between signals `findpeaks` Find local maxima `fir1` Window-based FIR filter design Frequency sampling-based FIR filter design Constrained-least-squares FIR multiband filter design Constrained-least-squares linear-phase FIR lowpass and highpass filter design `firls` Least-squares linear-phase FIR filter design Parks-McClellan optimal FIR filter design Parks-McClellan optimal FIR filter order estimation `flattopwin` Flat top weighted window `freqspace` Frequency spacing for frequency response Frequency response of digital filter Fourier synchrosqueezed transform `gauspuls` Gaussian-modulated sinusoidal RF pulse `gausswin` Gaussian window `gmonopuls` Gaussian monopulse Discrete Fourier transform with second-order Goertzel algorithm `hamming` Hamming window `hann` Hann (Hanning) window `hilbert` Discrete-time analytic signal using Hilbert transform Inverse discrete cosine transform Inverse fast Fourier transform 2-D inverse fast Fourier transform `ifsst` Inverse Fourier synchrosqueezed transform 1-D data interpolation (table lookup) Interpolation FIR filter design `iscola` Determine whether window-overlap combination is COLA compliant Find outliers in data Inverse short-time Fourier transform `kaiser` Kaiser window `kaiserord` Kaiser window FIR filter design estimation parameters Levinson-Durbin recursion `lsf2poly` Convert line spectral frequencies to prediction filter coefficients Maximum elements of an array Generalized digital Butterworth filter design Average or mean value of array Median value of array Minimum elements of an array Moving median absolute deviation Moving median `mscohere` Magnitude-squared coherence `nuttallwin` Nuttall-defined minimum 4-term Blackman-Harris window `parzenwin` Parzen (de la VallÃ©e Poussin) window Piecewise Cubic Hermite Interpolating Polynomial (PCHIP) `peak2peak` Maximum-to-minimum difference `peak2rms` Peak-magnitude-to-RMS ratio `periodogram` Periodogram power spectral density estimate `plomb` Lomb-Scargle periodogram Convert prediction filter polynomial to autocorrelation sequence Convert prediction filter coefficients to line spectral frequencies Convert prediction filter polynomial to reflection coefficients `pow2db` Convert power to decibels Pulse train `pwelch` Welch's power spectral density estimate `rainflow` Rainflow counts for fatigue analysis Normally distributed random numbers Convert reflection coefficients to autocorrelation sequence Convert reflection coefficients to prediction filter polynomial `rceps` Real cepstrum and minimum phase reconstruction Raised cosine FIR pulse-shaping filter design `rectpuls` Sampled aperiodic rectangle `rectwin` Rectangular window Resample uniform or nonuniform data to new fixed rate Reverse Levinson-Durbin recursion `rms` Root-mean-square level `sawtooth` Sawtooth or triangle wave `sgolay` Savitzky-Golay filter design `sgolayfilt` Savitzky-Golay filtering `sin` Sine of argument in radians `sinc` Sinc function `sos2tf` Convert digital filter second-order section data to transfer function form `sosfilt` Second-order (biquadratic) IIR digital filtering Cubic spline data interpolation `square` Square wave Standard deviation `stft` Short-time Fourier transform `taylorwin` Taylor window `tf2ss` Convert transfer function filter parameters to state-space form Time-frequency ridges `triang` Triangular window `tripuls` Sampled aperiodic triangle `tsa` Time-synchronous signal average `tukeywin` Tukey (tapered cosine) window Shift phase angles Upsample, apply FIR filter, and downsample `upsample` Increase sample rate by integer factor Variance Wigner-Ville distribution and smoothed pseudo Wigner-Ville distribution Cross-correlation `xcorr2` 2-D cross-correlation `xcov` Cross-covariance Cross Wigner-Ville distribution and cross smoothed pseudo Wigner-Ville distribution Recursive digital filter design `zp2tf` Convert zero-pole-gain filter parameters to transfer function form

### Statistics and Machine Learning Toolbox

C and C++ code generation for the following functions requires the Statistics and Machine Learning Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 `betacdf` Beta cumulative distribution function Beta probability distribution object `betafit` Beta parameter estimates `betainv` Beta inverse cumulative distribution function `betalike` Beta negative log-likelihood `betapdf` Beta probability density function Beta random numbers `betastat` Beta mean and variance `binocdf` Binomial cumulative distribution function `binoinv` Binomial inverse cumulative distribution function `binopdf` Binomial probability density function Random numbers from binomial distribution `binostat` Binomial mean and variance Array that contains values assigned to categories Cumulative distribution function `chi2cdf` Chi-square cumulative distribution function `chi2inv` Chi-square inverse cumulative distribution function `chi2pdf` Chi-square probability density function Chi-square random numbers `chi2stat` Chi-square mean and variance Classification ensemble grown by resampling Discriminant analysis classification Multiclass model for support vector machines (SVMs) and other classifiers Ensemble classifier k-nearest neighbor classification Linear model for binary classification of high-dimensional data Naive Bayes classification Support vector machine (SVM) for one-class and binary classification Binary decision tree for classification Compact discriminant analysis class Compact multiclass model for support vector machines (SVMs) and other classifiers Compact classification ensemble class Compact naive Bayes classifier Compact support vector machine (SVM) for one-class and binary classification Compact classification tree Compact generalized linear regression model class Compact linear regression model Compact regression ensemble class Compact Gaussian process regression model class Compact support vector machine regression model Compact regression tree Cox proportional hazards regression Empirical cumulative distribution function `evcdf` Extreme value cumulative distribution function `evfit` Extreme value parameter estimates `evinv` Extreme value inverse cumulative distribution function `evpdf` Extreme value probability density function Extreme value random numbers `evstat` Extreme value mean and variance Create exhaustive nearest neighbor searcher `expcdf` Exponential cumulative distribution function `expfit` Exponential parameter estimates `expinv` Exponential inverse cumulative distribution function Exponential probability distribution object `exppdf` Exponential probability density function Exponential random numbers `expstat` Exponential mean and variance Extreme value probability distribution object `fcdf` F cumulative distribution function `finv` F inverse cumulative distribution function Fit probability distribution object to data `fpdf` F probability density function F random numbers `fstat` F mean and variance `gamcdf` Gamma cumulative distribution function `gaminv` Gamma inverse cumulative distribution function `gampdf` Gamma probability density function Gamma random numbers `gamstat` Gamma mean and variance Generalized linear regression model class Normal probability distribution object `geocdf` Geometric cumulative distribution function `geoinv` Geometric inverse cumulative distribution function Geometric mean `geopdf` Geometric probability density function Geometric random numbers `geostat` Geometric mean and variance `gevcdf` Generalized extreme value cumulative distribution function `gevinv` Generalized extreme value inverse cumulative distribution function `gevpdf` Generalized extreme value probability density function Generalized extreme value random numbers `gevstat` Generalized extreme value mean and variance Generalized linear model values `gpcdf` Generalized Pareto cumulative distribution function `gpinv` Generalized Pareto inverse cumulative distribution function `gppdf` Generalized Pareto probability density function Generalized Pareto random numbers `gpstat` Generalized Pareto mean and variance Create index vector from grouping variable Harmonic mean `hygecdf` Hypergeometric cumulative distribution function `hygeinv` Hypergeometric inverse cumulative distribution function `hygepdf` Hypergeometric probability density function Hypergeometric random numbers `hygestat` Hypergeometric mean and variance Inverse cumulative distribution function Interquartile range Create Kd-tree nearest neighbor searcher k-means clustering Find k-nearest neighbors using input data Find k-nearest neighbors using searcher object Kernel smoothing function estimate for univariate and bivariate data Kurtosis Linear regression model `loadCompactModel` (To be removed) Reconstruct model object from saved model for code generation Reconstruct model object from saved model for code generation `logncdf` Lognormal cumulative distribution function `lognfit` Lognormal parameter estimates `logninv` Lognormal inverse cumulative distribution function Lognormal probability distribution object `lognpdf` Lognormal probability density function Lognormal random numbers `lognstat` Lognormal mean and variance Mean or median absolute deviation Mean of probability distribution Median of probability distribution `mnpdf` Multinomial probability density function Central moment Kernel smoothing function estimate for multivariate data Covariance ignoring `NaN` values Maximum, ignoring `NaN` values Mean, ignoring `NaN` values Median, ignoring `NaN` values Minimum, ignoring `NaN` values Standard deviation, ignoring `NaN` values Sum, ignoring `NaN` values Variance, ignoring `NaN` values `nbincdf` Negative binomial cumulative distribution function `nbininv` Negative binomial inverse cumulative distribution function `nbinpdf` Negative binomial probability density function Negative binomial random numbers `nbinstat` Negative binomial mean and variance `ncfcdf` Noncentral F cumulative distribution function `ncfinv` Noncentral F inverse cumulative distribution function `ncfpdf` Noncentral F probability density function Noncentral F random numbers `ncfstat` Noncentral F mean and variance `nctcdf` Noncentral t cumulative distribution function `nctinv` Noncentral t inverse cumulative distribution function `nctpdf` Noncentral t probability density function Noncentral t random numbers `nctstat` Noncentral t mean and variance `ncx2cdf` Noncentral chi-square cumulative distribution function Noncentral chi-square random numbers `ncx2stat` Noncentral chi-square mean and variance `normcdf` Normal cumulative distribution function `normfit` Normal parameter estimates `norminv` Normal inverse cumulative distribution function `normpdf` Normal probability density function Normal random numbers `normstat` Normal mean and variance Principal component analysis of raw data Probability density function Pairwise distance between pairs of observations Pairwise distance between two sets of observations Pearson system random numbers `poisscdf` Poisson cumulative distribution function `poissinv` Poisson inverse cumulative distribution function `poisspdf` Poisson probability density function Random numbers from Poisson distribution `poisstat` Poisson mean and variance Percentiles of a data set Predict responses of linear regression model Classify observations using multiclass error-correcting output codes (ECOC) model Classify observations using support vector machine (SVM) classifier Predict labels using discriminant analysis classification model Predict response of Gaussian process regression model Predict labels using classification tree Predict labels for linear classification models Predict labels using k-nearest neighbor classification model Predict response of linear regression model Predict response of generalized linear regression model Predict responses using ensemble of regression models Predict labels using naive Bayes classification model Predict responses using regression tree Classify observations using ensemble of classification models Predict responses using support vector machine regression model Quantiles of a data set `randg` Gamma random numbers with unit scale Random numbers Simulate responses with random noise for linear regression model Simulate responses for generalized linear regression model Random sample Find all neighbors within specified distance using searcher object Find all neighbors within specified distance using input data `raylcdf` Rayleigh cumulative distribution function `raylinv` Rayleigh inverse cumulative distribution function `raylpdf` Rayleigh probability density function Rayleigh random numbers `raylstat` Rayleigh mean and variance Regression ensemble grown by resampling Ensemble regression Gaussian process regression model class Linear regression model for high-dimensional data Support vector machine regression model Regression tree Skewness Format distance matrix Standard deviation of probability distribution Table array with named variables that can contain different types `tcdf` Student's t cumulative distribution function `tinv` Student's t inverse cumulative distribution function `tpdf` Student's t probability density function Student's t random numbers Truncate probability distribution object `tstat` Student's t mean and variance `unidcdf` Discrete uniform cumulative distribution function `unidinv` Discrete uniform inverse cumulative distribution function `unidpdf` Discrete uniform probability density function `unidrnd` Random numbers from discrete uniform distribution `unidstat` Discrete uniform mean and variance `unifcdf` Continuous uniform cumulative distribution function `unifinv` Continuous uniform inverse cumulative distribution function `unifpdf` Continuous uniform probability density function Continuous uniform random numbers `unifstat` Continuous uniform mean and variance Update model parameters for code generation Variance of probability distribution `wblcdf` Weibull cumulative distribution function `wblfit` Weibull parameter estimates `wblinv` Weibull inverse cumulative distribution function `wblpdf` Weibull probability density function Weibull random numbers `wblstat` Weibull mean and variance Weibull probability distribution object Standardized z-scores

### System Identification Toolbox

C and C++ code generation for the following functions and System objects requires the System Identification Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Create extended Kalman filter object for online state estimation Particle filter object for online state estimation Create System object for online parameter estimation of AR model Create System object for online parameter estimation of ARMA model Create System object for online parameter estimation of ARMAX model Create System object for online parameter estimation of ARX model Create System object for online parameter estimation of Box-Jenkins polynomial model Create System object for online parameter estimation using recursive least squares algorithm Create System object for online parameter estimation of Output-Error polynomial model Create unscented Kalman filter object for online state estimation

### Wavelet Toolbox

C and C++ code generation for the following functions requires the Wavelet Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 1-D approximation coefficients 2-D approximation coefficients Continuous wavelet transform filter bank CWT maximum and minimum frequency or period Default values for denoising or compression `detcoef` 1-D detail coefficients `detcoef2` 2-D detail coefficients `dwt` Single-level 1-D discrete wavelet transform `dwt2` Single-level discrete 2-D wavelet transform Dyadic upsampling `emd` Empirical mode decomposition `filterbank` Shearlet system filters `framebounds` Shearlet system frame bounds `idwt` Single-level inverse discrete 1-D wavelet transform Single-level inverse discrete 2-D wavelet transform `imodwpt` Inverse maximal overlap discrete wavelet packet transform `imodwt` Inverse maximal overlap discrete wavelet transform `isheart2` Inverse shearlet transform Multisignal 1-D wavelet decomposition Multisignal 1-D wavelet reconstruction `meyeraux` Meyer wavelet auxiliary function `modwpt` Maximal overlap discrete wavelet packet transform `modwptdetails` Maximal overlap discrete wavelet packet transform details `modwt` Maximal overlap discrete wavelet transform `modwtmra` Multiresolution analysis based on MODWT `numshears` Number of shearlets `qmf` Scaling and Wavelet Filter `shearletSystem` Bandlimited shearlet system `sheart2` Shearlet transform `thselect` Threshold selection for denoising 1-D wavelet decomposition 2-D wavelet decomposition 1-D wavelet reconstruction 2-D wavelet reconstruction Automatic 1-D denoising Denoising or compression Extend vector or matrix `wnoisest` Estimate noise of 1-D wavelet coefficients `wthcoef` 1-D wavelet coefficient thresholding `wthcoef2` Wavelet coefficient thresholding 2-D `wthresh` Soft or hard thresholding Wigner-Ville distribution and smoothed pseudo Wigner-Ville distribution Cross Wigner-Ville distribution and cross smoothed pseudo Wigner-Ville distribution

### WLAN Toolbox

C and C++ code generation for the following functions and System objects requires the WLAN Toolbox™ software.

An asterisk (*) indicates that the reference page has usage notes and limitations for C/C++ code generation.

 Display constellation diagram for input signals Compute bit or symbol error rate of input data Measure error vector magnitude Apply phase and frequency offsets to input signal `displayIEs` Display the list of information elements (IEs) Display vectors or arrays Display frequency spectrum of time-domain signals Time domain signal display and measurement `getPSDULength` Return HE format PSDU length `getSIGBLength` Return information relevant to HE-SIG-B field length `info` Return characteristic information about TGay multipath fading channel `interpretHESIGABits` Update recovery configuration object with HE-SIG-A bits `packetFormat` Return WLAN packet format `ruInfo` Return HE format resource unit allocation information `showEnvironment` Display channel environment with D-Rays from ray tracing `wlanAMPDUDeaggregate` Deaggregate A-MPDU and extract MPDUs `wlanAPEPLength` Calculate APEP length in octets `wlanBCCDecode` Convolutionally decode input data `wlanBCCDeinterleave` Deinterleave binary convolutionally interleaved input `wlanBCCEncode` Convolutionally encode binary data `wlanBCCInterleave` Interleave binary convolutionally encoded input `wlanClosestReferenceSymbol` Find closest constellation points `wlanCoarseCFOEstimate` Coarse estimate of carrier frequency offset `wlanConstellationDemap` Constellation demapping `wlanConstellationMap` Constellation mapping `wlanDMGConfig` Create DMG-format configuration object `wlanDMGDataBitRecover` Recover data bits from DMG data field `wlanDMGHeaderBitRecover` Recover header bits from DMG header field `wlanDMGOFDMDemodulate` Demodulate fields of DMG waveform `wlanDMGOFDMInfo` Get OFDM information for DMG transmission `wlanFieldIndices` Generate PPDU field indices `wlanFineCFOEstimate` Fine estimate of carrier frequency offset `wlanFormatDetect` Detect packet format `wlanGolaySequence` Generate Golay sequence `wlanHEDataBitRecover` Recover data bits from HE-Data field `wlanHEDemodulate` Demodulate fields of HE waveform `wlanHEMUConfig` Create multiuser high-efficiency-format configuration object `wlanHEOFDMInfo` Get OFDM information for HE transmission `wlanHERecoveryConfig` Create HE recovery configuration object `wlanHESIGABitRecover` Recover information bits in HE-SIG-A field `wlanHESIGBCommonBitRecover` Recover common field bits in HE-SIG-B field `wlanHESIGBUserBitRecover` Recover user field bits in HE-SIG-B field `wlanHESUConfig` Create single-user high-efficiency-format configuration object `wlanHTConfig` Create HT-format configuration object `wlanHTData` Generate HT-Data field waveform `wlanHTDataRecover` Recover HT data `wlanHTLTF` Generate HT-LTF waveform `wlanHTLTFChannelEstimate` Channel estimation using HT-LTF `wlanHTLTFDemodulate` Demodulate HT-LTF waveform `wlanHTOFDMInfo` Return OFDM information for HT transmission `wlanHTSIG` Generate HT-SIG waveform `wlanHTSIGRecover` Recover HT-SIG information bits `wlanHTSTF` Generate HT-STF waveform `wlanLLTF` Generate L-LTF waveform `wlanLLTFChannelEstimate` Channel estimation using L-LTF `wlanLLTFDemodulate` Demodulate L-LTF waveform `wlanLSIG` Generate L-SIG waveform `wlanLSIGBitRecover` Recover information bits in L-SIG field `wlanLSIGRecover` Recover L-SIG information bits `wlanLSTF` Generate L-STF waveform `wlanMACFrame` Generate WLAN MAC frame (MPDU or A-MPDU) `wlanMACFrameConfig` Create WLAN MAC frame configuration object `wlanMACManagementConfig` Create WLAN MAC management frame-body configuration object `wlanMPDUDecode` Decode MPDU `wlanMSDULengths` Calculate MSDU lengths `wlanNonHTConfig` Create non-HT-format configuration object `wlanNonHTData` Generate non-HT-Data field waveform `wlanNonHTDataRecover` Recover non-HT data `wlanNonHTOFDMInfo` Get OFDM information for non-HT transmission `wlanPacketDetect` OFDM packet detection using L-STF `wlanPSDULength` Calculate PSDU length in octets `wlanRecoveryConfig` Create data recovery configuration object `wlanReferenceSymbols` Find reference symbols of constellation diagram `wlanS1GConfig` Create S1G-format configuration object `wlanS1GDemodulate` Demodulate fields of S1G waveform `wlanS1GOFDMInfo` Get OFDM Information for S1G transmission `wlanScramble` Scramble and descramble binary input sequence `wlanSegmentDeparseBits` Segment-deparse data bits `wlanSegmentDeparseSymbols` Segment-deparse data subcarriers `wlanSegmentParseBits` Segment-parse data bits `wlanSegmentParseSymbols` Segment-parse data subcarriers `wlanStreamDeparse` Stream-deparse binary input `wlanStreamParse` Stream-parse binary input `wlanSymbolTimingEstimate` Fine symbol timing estimate using L-LTF Filter signal through 802.11ac multipath fading channel Filter signal through 802.11ah multipath fading channel Filter signal through an 802.11ax™ multipath fading channel Filter signal through 802.11ay™ multipath fading channel Filter signal through 802.11n multipath fading channel `wlanURAConfig` Create antenna array configuration object for 802.11ay channel model `wlanVHTConfig` Create VHT-format configuration object `wlanVHTData` Generate VHT-Data field `wlanVHTDataRecover` Recover VHT data `wlanVHTLTF` Generate VHT-LTF waveform `wlanVHTLTFChannelEstimate` Channel estimation using VHT-LTF `wlanVHTLTFDemodulate` Demodulate VHT-LTF waveform `wlanVHTOFDMInfo` Get OFDM information for VHT transmission `wlanVHTSIGA` Generate VHT-SIG-A waveform `wlanVHTSIGARecover` Recover VHT-SIG-A information bits `wlanVHTSIGB` Generate VHT-SIG-B waveform `wlanVHTSIGBRecover` Recover VHT-SIG-B information bits `wlanVHTSTF` Generate VHT-STF waveform `wlanWaveformGenerator` Generate WLAN waveform

### Note

WLAN Toolbox functionality with the MATLAB Function block is not supported.