ライブラリ "DSP_MultirateLinearphase" の使用例.

Dependencies:   mbed DSP_MultirateLinearphase

coefficients.hpp

Committer:
MikamiUitOpen
Date:
2020-06-16
Revision:
3:d52ea58bea85
Parent:
0:84e2360c7442
Child:
4:d679eeac4937

File content as of revision 3:d52ea58bea85:

//------------------------------------------------------------------
//  補間に使うフィルタの係数としてデフォルト以外の係数を使う場合の定義の例
//
//  デフォルトの係数を使う場合は,このファイルは不要
//
//  このファイルを使ってデフォルト以外の係数を使う場合は,以下のいずれかの
//  #define 文を,このファイルをインクルードする前に記述すること
//      #define FIR_INTERPOLATOR_ORDER96
//      #define FIR_INTERPOLATOR_ORDER4
//
//  2020/06/16, Copyright (c) 2020 MIKAMI, Naoki
//------------------------------------------------------------------

#include "MultirateLiPh.hpp"
using namespace Mikami;

#ifdef FIR_INTERPOLATOR_ORDER96
// 使用窓関数   Kaiser 窓
// 標本化周波数 (kHz)      40.000000
// 次数                    96
// 種類         LPF
// 遮断周波数 (kHz)         5.000000
// 減衰量 (dB)             40.00 
const int ORDER_ = 96;
const float HK1_[] = {
-3.181336E-03f,  5.128636E-03f, -7.675400E-03f,  1.095993E-02f,
-1.517799E-02f,  2.063008E-02f, -2.781909E-02f,  3.767194E-02f,
-5.211612E-02f,  7.591348E-02f, -1.247794E-01f,  2.984461E-01f,
 8.997624E-01f, -1.773076E-01f,  9.513684E-02f, -6.231776E-02f,
 4.412812E-02f, -3.232678E-02f,  2.396353E-02f, -1.772480E-02f,
 1.293674E-02f, -9.214960E-03f,  6.319428E-03f, -4.087220E-03f};
const float HK2_[] = {
-5.116816E-03f,  8.067276E-03f, -1.190903E-02f,  1.685387E-02f,
-2.320755E-02f,  3.144941E-02f, -4.240016E-02f,  5.761400E-02f,
-8.044372E-02f,  1.196597E-01f, -2.075416E-01f,  6.350536E-01f,
 6.350536E-01f, -2.075416E-01f,  1.196597E-01f, -8.044372E-02f,
 5.761400E-02f, -4.240016E-02f,  3.144941E-02f, -2.320755E-02f,
 1.685387E-02f, -1.190903E-02f,  8.067276E-03f, -5.116816E-03f};
const float HK3_[] = {
-4.087220E-03f,  6.319428E-03f, -9.214960E-03f,  1.293674E-02f,
-1.772480E-02f,  2.396353E-02f, -3.232678E-02f,  4.412812E-02f,
-6.231776E-02f,  9.513684E-02f, -1.773076E-01f,  8.997624E-01f,
 2.984461E-01f, -1.247794E-01f,  7.591348E-02f, -5.211612E-02f,
 3.767194E-02f, -2.781909E-02f,  2.063008E-02f, -1.517799E-02f,
 1.095993E-02f, -7.675400E-03f,  5.128636E-03f, -3.181336E-03f};
#endif  // FIR_INTERPOLATOR_ORDER96

#ifdef FIR_INTERPOLATOR_ORDER4
// 以下は,出力の際の補間を行わない場合に相当する信号を出力したい場合に使う
const int ORDER_ = 4; 
const float HK1_[] = {1};
const float HK2_[] = {1};
const float HK3_[] = {1};
#endif  // FIR_INTERPOLATOR_ORDER4