Nucleo-F446 による遮断周波数可変 LPF/HPF .DA変換器にデータを送る際は 4 倍にアップ・サンプリング.
Dependencies: mbed SerialTxRxIntr F446_AD_DA_MultirateSWI
Diff: main.hpp
- Revision:
- 0:89d173001e82
- Child:
- 2:03973d4684cb
diff -r 000000000000 -r 89d173001e82 main.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.hpp Tue Jun 05 11:20:57 2018 +0000 @@ -0,0 +1,29 @@ +//---------------------------------------------------------------------- +// マルチレート処理で使う補間用フィルタとしてデフォルトのフィルタ以外のものを +// 使いたい場合,ここでフィルタの係数を定義し,それを F446_Multirate のオブ +// ジェクトを実体化する際に,引数として渡す. +// +// 2018/06/04, Copyright (c) 2018 MIKAMI, Naoki +//---------------------------------------------------------------------- + +#include "F446_Multirate.hpp" +#include "SerialRxIntr.hpp" +#include "BilinearDesignLH.hpp" + +// マルチレート処理用の補間フィルタの係数 +// 低域通過フィルタ +// 連立チェビシェフ特性 +// 次数 : 8 次 +// 標本化周波数:176.00 kHz +// 遮断周波数 : 20.00 kHz +// 通過域のリップル: 0.50 dB +// 阻止域の減衰量 :40.00 dB +const Biquad::Coefs HK_SM_[] = { + {1.459046E+00f, -5.819992E-01f, 2.333893E-01f, 1.0f}, // 1段目 + {1.481588E+00f, -8.172556E-01f, -1.240760E+00f, 1.0f}, // 2段目 + {1.494779E+00f, -9.473534E-01f, -1.442644E+00f, 1.0f}, // 3段目 + {1.502186E+00f, -9.896300E-01f, -1.482309E+00f, 1.0f}}; // 4段目 +const float G0_SM_ = 4*1.756776E-02f; // 利得定数 +const int ORDER_SM_ = 8; // 次数 + +const int FS_ = 44100; // 入力の標本化周波数: 44.1 kHz