Basic Audio Signal Processing Library
Dependents: unzen_sample_nucleo_f746 skeleton_unzen_nucleo_f746 ifmag_noise_canceller synthesizer_f746
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
Generated on Tue Jul 12 2022 21:49:23 by 1.7.2