Basic Audio Signal Processing Library

Dependents:   unzen_sample_nucleo_f746 skeleton_unzen_nucleo_f746 ifmag_noise_canceller synthesizer_f746

オーディオ信号処理用のライブラリです。

mbed-dspのフィルタ群向けに作ったクラス・ラッパーのほか、以下のクラスを用意しています。

  • ヒステリシス
  • sin/cosオシレータ
  • リミッター

クラスは全て名前空間amakusaに含まれます。

firdecimator.h

Committer:
shorie
Date:
2017-02-10
Revision:
5:3d6cf4dbf458
Parent:
1:0a37bce4f985
Child:
6:ed10856c2305

File content as of revision 5:3d6cf4dbf458:

#ifndef _firdecimator_h_
#define _firdecimator_h_

#include "abstractfilter.h"
namespace amakusa
{
/**
* @brief Wrapper class of the arm_fir_decimate_f32() and the arm_fir_decimate_init_f32().
* @details
* To use this class, include amakusa.h
*/
    class FIRDecimator : public AbstractFilter
    {
    public:
            /**
            * @brief Constructor
            * @param[in] taps Number of the elements in the coeffisients array. Or length of the impuls response. 
            * @param[in] pCoeff Ponter to the coefficients array ( Impuls response ).
            * @param[in] blockSize Maximum number of the input samples to be given to run() method at onece. Must be integer multiple of parameter M. 
            * @param[in] M Down sampling ratio 
            */
        FIRDecimator(uint16_t taps, float32_t *pCoeff, uint32_t block_size, uint8_t m);
            /**
            * Destructor
            */
        virtual ~FIRDecimator();
            /**
            * @brief Run the filter.
            * @param[in] pSrc Pointer to the source buffer to be filtered.
            * @param[out] pDst Pointer to the destination buffer to store the filtered signal. 
            * @param[in] blockSize Number of the sample to be filitered. If skipped or zero, blockSize is assmued the one passed to the constructor. Must be integer multiple of parameter M of the constructor.
            */
        virtual void run( float32_t *pSrc, float32_t *pDst);
    private:
        arm_fir_decimate_instance_f32 state;
    };
    
}

#endif