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

Committer:
MikamiUitOpen
Date:
Mon May 25 06:13:53 2020 +0000
Revision:
0:79c0b1e2fd10
Child:
2:aa092bbc8877
1

Who changed what in which revision?

UserRevisionLine numberNew 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};