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

Dependencies:   mbed DSP_MultirateLinearphase

Committer:
MikamiUitOpen
Date:
Mon May 25 06:19:22 2020 +0000
Revision:
0:84e2360c7442
Child:
3:d52ea58bea85
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:84e2360c7442 1 //------------------------------------------------------------------
MikamiUitOpen 0:84e2360c7442 2 // 補間に使うフィルタの係数としてデフォルト以外の係数を使う場合の定義の例
MikamiUitOpen 0:84e2360c7442 3 //
MikamiUitOpen 0:84e2360c7442 4 // デフォルトの係数を使う場合は,このファイルは不要
MikamiUitOpen 0:84e2360c7442 5 //
MikamiUitOpen 0:84e2360c7442 6 // このファイルを使ってデフォルト以外の係数を使う場合は,以下のいずれかの
MikamiUitOpen 0:84e2360c7442 7 // #define 文を,このファイルをインクルードする前に記述すること
MikamiUitOpen 0:84e2360c7442 8 // #define FIR_INTERPOLATOR_ORDER96
MikamiUitOpen 0:84e2360c7442 9 // #define FIR_INTERPOLATOR_ORDER4
MikamiUitOpen 0:84e2360c7442 10 //
MikamiUitOpen 0:84e2360c7442 11 // 2020/05/25, Copyright (c) 2020 MIKAMI, Naoki
MikamiUitOpen 0:84e2360c7442 12 //------------------------------------------------------------------
MikamiUitOpen 0:84e2360c7442 13
MikamiUitOpen 0:84e2360c7442 14 #include "MultirateLiPh.hpp"
MikamiUitOpen 0:84e2360c7442 15 using namespace Mikami;
MikamiUitOpen 0:84e2360c7442 16
MikamiUitOpen 0:84e2360c7442 17 #ifdef FIR_INTERPOLATOR_ORDER96
MikamiUitOpen 0:84e2360c7442 18 // 使用窓関数 Kaiser 窓
MikamiUitOpen 0:84e2360c7442 19 // 標本化周波数 (kHz) 40.000000
MikamiUitOpen 0:84e2360c7442 20 // 次数 96
MikamiUitOpen 0:84e2360c7442 21 // 種類 LPF
MikamiUitOpen 0:84e2360c7442 22 // 遮断周波数 (kHz) 5.000000
MikamiUitOpen 0:84e2360c7442 23 // 減衰量 (dB) 40.00
MikamiUitOpen 0:84e2360c7442 24 const int MultirateLiPh::ORDER_ = 96;
MikamiUitOpen 0:84e2360c7442 25 const float MultirateLiPh::HK1_[] = {
MikamiUitOpen 0:84e2360c7442 26 -3.181336E-03f, 5.128636E-03f, -7.675400E-03f, 1.095993E-02f,
MikamiUitOpen 0:84e2360c7442 27 -1.517799E-02f, 2.063008E-02f, -2.781909E-02f, 3.767194E-02f,
MikamiUitOpen 0:84e2360c7442 28 -5.211612E-02f, 7.591348E-02f, -1.247794E-01f, 2.984461E-01f,
MikamiUitOpen 0:84e2360c7442 29 8.997624E-01f, -1.773076E-01f, 9.513684E-02f, -6.231776E-02f,
MikamiUitOpen 0:84e2360c7442 30 4.412812E-02f, -3.232678E-02f, 2.396353E-02f, -1.772480E-02f,
MikamiUitOpen 0:84e2360c7442 31 1.293674E-02f, -9.214960E-03f, 6.319428E-03f, -4.087220E-03f};
MikamiUitOpen 0:84e2360c7442 32 const float MultirateLiPh::HK2_[] = {
MikamiUitOpen 0:84e2360c7442 33 -5.116816E-03f, 8.067276E-03f, -1.190903E-02f, 1.685387E-02f,
MikamiUitOpen 0:84e2360c7442 34 -2.320755E-02f, 3.144941E-02f, -4.240016E-02f, 5.761400E-02f,
MikamiUitOpen 0:84e2360c7442 35 -8.044372E-02f, 1.196597E-01f, -2.075416E-01f, 6.350536E-01f,
MikamiUitOpen 0:84e2360c7442 36 6.350536E-01f, -2.075416E-01f, 1.196597E-01f, -8.044372E-02f,
MikamiUitOpen 0:84e2360c7442 37 5.761400E-02f, -4.240016E-02f, 3.144941E-02f, -2.320755E-02f,
MikamiUitOpen 0:84e2360c7442 38 1.685387E-02f, -1.190903E-02f, 8.067276E-03f, -5.116816E-03f};
MikamiUitOpen 0:84e2360c7442 39 const float MultirateLiPh::HK3_[] = {
MikamiUitOpen 0:84e2360c7442 40 -4.087220E-03f, 6.319428E-03f, -9.214960E-03f, 1.293674E-02f,
MikamiUitOpen 0:84e2360c7442 41 -1.772480E-02f, 2.396353E-02f, -3.232678E-02f, 4.412812E-02f,
MikamiUitOpen 0:84e2360c7442 42 -6.231776E-02f, 9.513684E-02f, -1.773076E-01f, 8.997624E-01f,
MikamiUitOpen 0:84e2360c7442 43 2.984461E-01f, -1.247794E-01f, 7.591348E-02f, -5.211612E-02f,
MikamiUitOpen 0:84e2360c7442 44 3.767194E-02f, -2.781909E-02f, 2.063008E-02f, -1.517799E-02f,
MikamiUitOpen 0:84e2360c7442 45 1.095993E-02f, -7.675400E-03f, 5.128636E-03f, -3.181336E-03f};
MikamiUitOpen 0:84e2360c7442 46 #endif // FIR_INTERPOLATOR_ORDER96
MikamiUitOpen 0:84e2360c7442 47
MikamiUitOpen 0:84e2360c7442 48 #ifdef FIR_INTERPOLATOR_ORDER4
MikamiUitOpen 0:84e2360c7442 49 // 以下は,出力の際の補間を行わない場合に相当する信号を出力したい場合に使う
MikamiUitOpen 0:84e2360c7442 50 const int MultirateLiPh::ORDER_ = 4;
MikamiUitOpen 0:84e2360c7442 51 const float MultirateLiPh::HK1_[] = {1};
MikamiUitOpen 0:84e2360c7442 52 const float MultirateLiPh::HK2_[] = {1};
MikamiUitOpen 0:84e2360c7442 53 const float MultirateLiPh::HK3_[] = {1};
MikamiUitOpen 0:84e2360c7442 54 #endif // FIR_INTERPOLATOR_ORDER4