Nucleo-F446 によるグラフィック・イコライザ.DA変換器にデータを送る際は 4 倍にアップ・サンプリング.

Dependencies:   mbed SerialTxRxIntr F446_AD_DA_Multirate

Revision:
0:0312aa1893cf
Child:
2:3a115b023dd2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.hpp	Tue Jun 05 11:14:21 2018 +0000
@@ -0,0 +1,29 @@
+//----------------------------------------------------------------------
+// マルチレート処理で使う補間用フィルタとしてデフォルトのフィルタ以外のものを
+// 使いたい場合,ここでフィルタの係数を定義し,それを F446_Multirate のオブ
+// ジェクトを実体化する際に,引数として渡す.
+//
+//  2018/06/04, Copyright (c) 2018 MIKAMI, Naoki
+//----------------------------------------------------------------------
+
+#include "F446_Multirate.hpp"
+#include "SerialRxIntr.hpp"
+#include "GrEqParamsCalculator.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