Logo
MSP DSP Library
Complex FIR

Data Structures

struct  msp_cmplx_fir_q15_params
 Parameter structure for complex FIR filter. More...
 
struct  msp_cmplx_fir_iq31_params
 Parameter structure for complex FIR filter. More...
 

Functions

msp_status msp_cmplx_fir_q15 (const msp_cmplx_fir_q15_params *params, const _q15 *src, _q15 *dst)
 Discrete-time convolution of a complex source vector with complex coefficients to apply an FIR filter. More...
 
msp_status msp_cmplx_fir_iq31 (const msp_cmplx_fir_iq31_params *params, const _iq31 *src, _iq31 *dst)
 Discrete-time convolution of a complex source vector with complex coefficients to apply an FIR filter. More...
 

Detailed Description

Functions for performing complex Finite Impulse Response (FIR) filters.

Function Documentation

msp_status msp_cmplx_fir_iq31 ( const msp_cmplx_fir_iq31_params params,
const _iq31 src,
_iq31 dst 
)

Discrete-time convolution of a complex source vector with complex coefficients to apply an FIR filter.

Details
FIR filter implementation utilizing discrete-time convolution. Complex IQ31 multiplication is performed with a 32-bit accumulator to avoid intermediate overflow.
Pseudo code
dst = conv([stateBuffer, src], taps)(0:1:length)
Parameters
paramsPointer to the complex FIR parameter structure.
srcPointer to the source vector to filter.
dstPointer to the destination vector.
Returns
Status of the operation.
msp_status msp_cmplx_fir_q15 ( const msp_cmplx_fir_q15_params params,
const _q15 src,
_q15 dst 
)

Discrete-time convolution of a complex source vector with complex coefficients to apply an FIR filter.

Details
FIR filter implementation utilizing discrete-time convolution. Complex Q15 multiplication is performed with a 32-bit accumulator to avoid intermediate overflow.
Pseudo code
dst = conv([stateBuffer, src], taps)(0:1:length)
Parameters
paramsPointer to the complex FIR parameter structure.
srcPointer to the source vector to filter.
dstPointer to the destination vector.
Returns
Status of the operation.