Nucleo-F446 による遮断周波数可変 LPF/HPF .DA変換器にデータを送る際は 4 倍にアップ・サンプリング.

Dependencies:   mbed SerialTxRxIntr F446_AD_DA_MultirateSWI

Revision:
6:02743f6a1595
Parent:
2:03973d4684cb
diff -r 5b2ebdd5698c -r 02743f6a1595 main.hpp
--- a/main.hpp	Sun Oct 07 04:39:58 2018 +0000
+++ b/main.hpp	Thu Jan 31 03:03:04 2019 +0000
@@ -3,27 +3,28 @@
 // 使いたい場合,ここでフィルタの係数を定義し,それを F446_Multirate のオブ
 // ジェクトを実体化する際に,引数として渡す.
 //
-//  2018/06/11, Copyright (c) 2018 MIKAMI, Naoki
+//  2019/01/31, Copyright (c) 2019 MIKAMI, Naoki
 //----------------------------------------------------------------------
 
-#include "F446_Multirate.hpp"
+#include "F446_MultirateSWI.hpp"
 #include "SerialRxTxIntr.hpp"
 #include "BilinearDesignLH.hpp"
+using namespace Mikami;
 
 // マルチレート処理用の補間フィルタの係数
 // 低域通過フィルタ
 // 連立チェビシェフ特性
 // 次数    : 8 次
-// 標本化周波数:176.00 kHz
+// 標本化周波数:176.40 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 Biquad HK_SM_[] = {
+    Biquad(1.460326E+00f, -5.827534E-01f,  2.285060E-01f, 1.0f),  // 1段目
+    Biquad(1.483366E+00f, -8.175905E-01f, -1.243800E+00f, 1.0f),  // 2段目
+    Biquad(1.496830E+00f, -9.474507E-01f, -1.445014E+00f, 1.0f),  // 3段目
+    Biquad(1.504313E+00f, -9.896493E-01f, -1.484535E+00f, 1.0f)}; // 4段目
+const float G0_SM_ = 4*1.752428E-02f;   // 利得定数
 const int ORDER_SM_ = 8;    // 次数
+const int FS_ = 44100;      // 入力の標本化周波数: 44.1 kHz
 
-const int FS_ = 44100;  // 入力の標本化周波数: 44.1 kHz