CMSIS Conditions for MATLAB Functions to Support ARM Cortex-M Processors - MATLAB & Simulink (original) (raw)

Each MATLAB® function that can be used with the Support Package for ARM® Cortex®-M processors requires specific conditions to allow code replacement by using the CMSIS Library. You use this code replacement when generating C code from a model or from MATLAB code.

If you do not meet the specific requirements, then the generated C code runs on the ARM Cortex-M processors. However, this generated code does not use CMSIS library support.

The CMSIS library supports these MATLAB functions only when you set specific properties, as indicated in this table:

MATLAB Function Supported Function Signatures Input Requirements Parameter Requirements Equivalent CMSIS Functions
fft Y = fft(X)Y = fft(X, n)Y = fft(X, n, dim) Real or Complex ValuesMultichannel Input (Multiple columns)single data type **Transform Lengthn:**Real Input: n must be in the range[9 2048] U {4096}-{16}.Complex Input: n must be in the range[5 2048] U {4096}-{8}.Dimension to operate alongdim: dim must be a compile time constant. arm_cfft_f32arm_rfft_fast_init_f32arm_rfft_fast_f32Wrapper functions, each with an mw_prefix, are provided to bridge the library interface.
ifft X = ifft(Y)X = ifft(Y, n)X = ifft(Y, n, dim)X = ifft(__, symflag) Real or Complex ValuesMultichannel Inputsingle data type Transform Length n: Minimum length is 8.Dimension to operate alongdim: dim must be a compile time constant.Symmetric type symflag: non-symmetric (default) arm_cfft_f32arm_rfft_fast_init_f32arm_rfft_fast_f32Wrapper functions, each with an mw_prefix, are provided to bridge the library interface.
fft2 Y = fft2(X)Y = fft2(X, m, n) Real or Complex ValuesMultichannel Inputsingle data type Number of transform rowsm: Minimum length is 8 when input is real.Minimum length is 4 when input is complex.Number of transform rowsn: Minimum length is 8 when input is real.Minimum length is 4 when input is complex. arm_cfft_f32arm_rfft_fast_init_f32arm_rfft_fast_f32Wrapper functions, each with an mw_prefix, are provided to bridge the library interface.
ifft2 X = ifft2(Y)X = ifft2(Y, m, n)X = ifft2(__, symflag) Complex ValuesMultichannel Inputsingle data type Number of transform rowsm: Minimum length is 8Number of transform rowsn: Minimum length is 8Symmetric typesymflag: non-symmetric (default) arm_cfft_f32arm_rfft_fast_init_f32arm_rfft_fast_f32Wrapper functions, each with an mw_prefix, are provided to bridge the library interface.
fftn Y = fftn(X)Y = fftn(X, sz) Real or Complex ValuesMultichannel Input (Multiple columns)single data type Length of transform dimensionsz: Each of sz element should have: Minimum value 8 when input is realMinimum value 4 when input is complex arm_cfft_f32arm_rfft_fast_init_f32arm_rfft_fast_f32Wrapper functions, each with an mw_prefix, are provided to bridge the library interface.
ifftn X = ifftn(Y)X = ifftn(Y, sz)X = ifftn(__, symflag) Complex ValuesMultichannel Inputsingle data type Length of transform dimensionsz: Each of sz element should have: Minimum value is 8 arm_cfft_f32arm_rfft_fast_init_f32arm_rfft_fast_f32Wrapper functions, each with an mw_prefix, are provided to bridge the library interface.