Generate Fixed-Point C Code
- Updated2025-10-10
- 2 minute(s) read
You usually program target Digital Signal Processing (DSP) hardware using C code. To generate C code from the fixed-point filter model, use the C Code instance of the DFD FXP Code Generator VI.
You can compile the generated code to run on a fixed-point DSP.
Note C code can yield a less
compact and less efficient implementation than a hand-written, assembly-coded
implementation. If you need to improve the performance of a filter, you can
translate the C code to assembly code manually.
The DFD FXP Code Generator VI produces three files, where filtername is the string you wire to the filter name input:
- nidfdtyp.h contains the definitions of the data types in the C source files that the DFD FXP Code GeneratorVI generates. You might need to redefine the data types in this file if you want to compile the generated code to run on a 64-bit target.
- filtername.h contains type definitions, global variable declarations, and function prototypes.
- filtername.c contains the code that implements the filter, including the
filter coefficients, information about the implementation structure and quantizer
settings in the fixed-point model, and the following functions:
- filtername_State filtername_CreateState() creates the memory space needed to store the internal states of the filter.
- void filtername_DisposeState(filtername_State state) disposes of the memory space used to store the internal states of the filter.
- void filtername_InitState(filtername_State state) initializes the internal states to zeroes. Call this function for the first block when processing a large data sequence that consists of multiple data blocks.
- I16 filtername_Filtering(I16 sampleIn, filtername_State state) implements the fixed-point filter.
- static I16 filtername_Coef[] contains the quantized coefficients of the fixed-point filter.