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