Basic Audio Signal Processing Library

Dependents:   unzen_sample_nucleo_f746 skeleton_unzen_nucleo_f746 ifmag_noise_canceller synthesizer_f746

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers firinterpolator.h Source File

firinterpolator.h

00001 #ifndef _firinterpolator_h_
00002 #define _firinterpolator_h_
00003 
00004 #include "abstractfilter.h"
00005 namespace amakusa
00006 {
00007 /**
00008 * @brief Wrapper class of the arm_fir_interpolate_f32() and the arm_fir_interpolate_init_f32().
00009 * @details
00010 * To use this class, include amakusa.h
00011 */
00012     class FIRInterpolator : public AbstractFilter
00013     {
00014     public:
00015             /**
00016             * @brief Constructor
00017             * @param[in] taps Number of the elements in the coeffisients array. Or length of the impuls response. The taps must be integer multiple of L
00018             * @param[in] pCoeff Ponter to the coefficients array ( Impuls response ).
00019             * @param[in] block_size Maximum number of the input samples to be given to run() method at onece. 
00020             * @param[in] L Up sampling ratio 
00021             */
00022         FIRInterpolator(uint16_t taps, float32_t *pCoeff, uint32_t block_size, uint8_t L);
00023             /**
00024             * Destructor
00025             */
00026         virtual ~FIRInterpolator();
00027             /**
00028             * @brief Run the filter.
00029             * @param[in] pSrc Pointer to the source buffer to be filtered.
00030             * @param[out] pDst Pointer to the destination buffer to store the filtered signal. 
00031             */
00032         virtual void run( float32_t *pSrc, float32_t *pDst);
00033     private:
00034         arm_fir_interpolate_instance_f32 state;
00035     };
00036     
00037 }
00038 
00039 #endif