STM32F446 内蔵の DAC から出力する際に,補間フィルタを利用し,標本化周波数を入力の際の4倍の標本化周波数で出力するためのライブラリ.このライブラリを登録した際のプログラム: Demo_DSP_ADDA_Multirate. Library for outputting from built-in DAC in STM32F446 using interpolation filter at sampling frequency of 4 times in case of input.
Dependencies: Array_Matrix DSP_ADDA
Dependents: Demo_DSP_ADDA_Multirate DSP_AD_DA_Multirate DSP_GraphicEqualizerB DSP_VariableLHpfB ... more
MultirateLiPhCoefs.cpp@0:79c0b1e2fd10, 2020-05-25 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon May 25 06:13:53 2020 +0000
- Revision:
- 0:79c0b1e2fd10
- Child:
- 2:aa092bbc8877
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:79c0b1e2fd10 | 1 | //------------------------------------------------------------------- |
MikamiUitOpen | 0:79c0b1e2fd10 | 2 | // デフォルトの補間用フィルタの係数 |
MikamiUitOpen | 0:79c0b1e2fd10 | 3 | // ORDER_, HK1_, HK2_, HK3_ が他の箇所で定義されていない場合は |
MikamiUitOpen | 0:79c0b1e2fd10 | 4 | // このファイルの値が使われる |
MikamiUitOpen | 0:79c0b1e2fd10 | 5 | // |
MikamiUitOpen | 0:79c0b1e2fd10 | 6 | // 2020/05/25, Copyright (c) 2020 MIKAMI, Naoki |
MikamiUitOpen | 0:79c0b1e2fd10 | 7 | //------------------------------------------------------------------- |
MikamiUitOpen | 0:79c0b1e2fd10 | 8 | |
MikamiUitOpen | 0:79c0b1e2fd10 | 9 | #include "MultirateLiPh.hpp" |
MikamiUitOpen | 0:79c0b1e2fd10 | 10 | using namespace Mikami; |
MikamiUitOpen | 0:79c0b1e2fd10 | 11 | |
MikamiUitOpen | 0:79c0b1e2fd10 | 12 | // 以下の係数は,入力の標本化周波数は 10 kHz,出力の標本化周波数は 40 kHz |
MikamiUitOpen | 0:79c0b1e2fd10 | 13 | // として設計したもの |
MikamiUitOpen | 0:79c0b1e2fd10 | 14 | // |
MikamiUitOpen | 0:79c0b1e2fd10 | 15 | // 使用窓関数 Kaiser 窓 |
MikamiUitOpen | 0:79c0b1e2fd10 | 16 | // 標本化周波数 (kHz) 40.000000 |
MikamiUitOpen | 0:79c0b1e2fd10 | 17 | // 次数 72 |
MikamiUitOpen | 0:79c0b1e2fd10 | 18 | // 種類 LPF |
MikamiUitOpen | 0:79c0b1e2fd10 | 19 | // 遮断周波数 (kHz) 5.000000 |
MikamiUitOpen | 0:79c0b1e2fd10 | 20 | // 減衰量 (dB) 40.00 |
MikamiUitOpen | 0:79c0b1e2fd10 | 21 | MBED_WEAK const int MultirateLiPh::ORDER_ = 72; |
MikamiUitOpen | 0:79c0b1e2fd10 | 22 | MBED_WEAK const float MultirateLiPh::HK1_[] = { |
MikamiUitOpen | 0:79c0b1e2fd10 | 23 | 4.431256E-03f, -8.146596E-03f, 1.341366E-02f, -2.077330E-02f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 24 | 3.116614E-02f, -4.650688E-02f, 7.151836E-02f, -1.218529E-01f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 25 | 2.971602E-01f, 8.993316E-01f, -1.751857E-01f, 9.144896E-02f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 26 | -5.727932E-02f, 3.802786E-02f, -2.550498E-02f, 1.678651E-02f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 27 | -1.055827E-02f, 6.120216E-03f}; |
MikamiUitOpen | 0:79c0b1e2fd10 | 28 | MBED_WEAK const float MultirateLiPh::HK2_[] = { |
MikamiUitOpen | 0:79c0b1e2fd10 | 29 | 7.405152E-03f, -1.315348E-02f, 2.125564E-02f, -3.257789E-02f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 30 | 4.868468E-02f, -7.290120E-02f, 1.139337E-01f, -2.039652E-01f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 31 | 6.338376E-01f, 6.338376E-01f, -2.039652E-01f, 1.139337E-01f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 32 | -7.290120E-02f, 4.868468E-02f, -3.257789E-02f, 2.125564E-02f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 33 | -1.315348E-02f, 7.405152E-03f}; |
MikamiUitOpen | 0:79c0b1e2fd10 | 34 | MBED_WEAK const float MultirateLiPh::HK3_[] = { |
MikamiUitOpen | 0:79c0b1e2fd10 | 35 | 6.120216E-03f, -1.055827E-02f, 1.678651E-02f, -2.550498E-02f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 36 | 3.802786E-02f, -5.727932E-02f, 9.144896E-02f, -1.751857E-01f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 37 | 8.993316E-01f, 2.971602E-01f, -1.218529E-01f, 7.151836E-02f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 38 | -4.650688E-02f, 3.116614E-02f, -2.077330E-02f, 1.341366E-02f, |
MikamiUitOpen | 0:79c0b1e2fd10 | 39 | -8.146596E-03f, 4.431256E-03f}; |