Logo
MSP DSP Library
DSPLib_filter.h
1 #ifndef __DSPLIB_FILTER_H__
2 #define __DSPLIB_FILTER_H__
3 
4 //******************************************************************************
5 //
29 //
30 //******************************************************************************
31 
32 //******************************************************************************
33 //
34 // If building with a C++ compiler, make all of the definitions in this header
35 // have a C binding.
36 //
37 //******************************************************************************
38 #ifdef __cplusplus
39 extern "C"
40 {
41 #endif
42 
43 //******************************************************************************
44 //
48 //
49 //******************************************************************************
50 typedef struct msp_fir_q15_params {
53  uint16_t length;
56  uint16_t tapLength;
59  const _q15 *coeffs;
61 
62 //******************************************************************************
63 //
67 //
68 //******************************************************************************
69 typedef struct msp_fir_iq31_params {
72  uint16_t length;
75  uint16_t tapLength;
78  const _iq31 *coeffs;
80 
81 //******************************************************************************
82 //
86 //
87 //******************************************************************************
88 typedef struct msp_cmplx_fir_q15_params{
91  uint16_t length;
94  uint16_t tapLength;
97  const _q15 *coeffs;
99 
100 //******************************************************************************
101 //
105 //
106 //******************************************************************************
110  uint16_t length;
113  uint16_t tapLength;
116  const _iq31 *coeffs;
118 
119 //******************************************************************************
120 //
124 //
125 //******************************************************************************
129  uint16_t length;
132  const _q15 *coeffs;
140 
141 //******************************************************************************
142 //
146 //
147 //******************************************************************************
151  uint16_t length;
155  const _q15 *coeffs;
174 
175 //******************************************************************************
176 //
194 //
195 //******************************************************************************
196 extern msp_status msp_fir_q15(const msp_fir_q15_params *params,
197  const _q15 *src,
198  _q15 *dst);
199 
200 //******************************************************************************
201 //
219 //
220 //******************************************************************************
221 extern msp_status msp_fir_iq31(const msp_fir_iq31_params *params,
222  const _iq31 *src,
223  _iq31 *dst);
224 
225 //******************************************************************************
226 //
244 //
245 //******************************************************************************
247  const _q15 *src,
248  _q15 *dst);
249 
250 //******************************************************************************
251 //
269 //
270 //******************************************************************************
272  const _iq31 *src,
273  _iq31 *dst);
274 
275 //******************************************************************************
276 //
298 //
299 //******************************************************************************
301  const _q15 *src,
302  _q15 *dst);
303 
304 //******************************************************************************
305 //
330 //
331 //******************************************************************************
333  const _q15 *src,
334  _q15 *dst);
335 
336 //*****************************************************************************
337 //
338 // Mark the end of the C bindings section for C++ compilers.
339 //
340 //*****************************************************************************
341 #ifdef __cplusplus
342 }
343 #endif
344 
345 #endif //__DSPLIB_FILTER_H__
uint16_t length
Definition: DSPLib_filter.h:110
uint16_t length
Definition: DSPLib_filter.h:151
int32_t _iq31
Signed fixed point data type with 1 integer bit and 31 fractional bits.
Definition: DSPLib_types.h:59
msp_status msp_biquad_df2_q15(msp_biquad_df2_q15_params *params, const _q15 *src, _q15 *dst)
Single order direct form 2 biquad filter.
const _q15 * coeffs
Definition: DSPLib_filter.h:59
Parameter structure for FIR filter.
Definition: DSPLib_filter.h:69
_q15 sumMin
Definition: DSPLib_filter.h:161
uint16_t tapLength
Definition: DSPLib_filter.h:56
msp_status
Enumerated type to return the status of an operation.
Definition: DSPLib_types.h:78
_q15 Q1
Definition: DSPLib_filter.h:168
const _q15 * coeffs
Definition: DSPLib_filter.h:155
uint16_t tapLength
Definition: DSPLib_filter.h:94
uint16_t length
Definition: DSPLib_filter.h:72
Parameter structure for Direct Form 1 biquad filter.
Definition: DSPLib_filter.h:126
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...
const _iq31 * coeffs
Definition: DSPLib_filter.h:78
const _iq31 * coeffs
Definition: DSPLib_filter.h:116
msp_status msp_biquad_df1_q15(const msp_biquad_df1_q15_params *params, const _q15 *src, _q15 *dst)
Single order direct form 1 biquad filter.
_q15 sumMax
Definition: DSPLib_filter.h:158
const _q15 * coeffs
Definition: DSPLib_filter.h:132
Parameter structure for FIR filter.
Definition: DSPLib_filter.h:50
uint16_t length
Definition: DSPLib_filter.h:91
int16_t _q15
Signed fixed point data type with 1 integer bit and 15 fractional bits.
Definition: DSPLib_types.h:38
const _q15 * coeffs
Definition: DSPLib_filter.h:97
msp_status msp_fir_q15(const msp_fir_q15_params *params, const _q15 *src, _q15 *dst)
Discrete-time convolution of a source vector with real coefficients to apply an FIR filter...
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...
_q15 * stateBuffer
Definition: DSPLib_filter.h:138
Parameter structure for complex FIR filter.
Definition: DSPLib_filter.h:88
Parameter structure for Direct Form 2 biquad filter.
Definition: DSPLib_filter.h:148
_q15 Q2
Definition: DSPLib_filter.h:172
uint16_t tapLength
Definition: DSPLib_filter.h:75
_q15 bias
Definition: DSPLib_filter.h:164
uint16_t tapLength
Definition: DSPLib_filter.h:113
Parameter structure for complex FIR filter.
Definition: DSPLib_filter.h:107
uint16_t length
Definition: DSPLib_filter.h:129
msp_status msp_fir_iq31(const msp_fir_iq31_params *params, const _iq31 *src, _iq31 *dst)
Discrete-time convolution of a source vector with real coefficients to apply an FIR filter...
uint16_t length
Definition: DSPLib_filter.h:53