IIR Cascade

Dependencies:   DSP_MultirateLinearphase mbed

Revision:
0:fd55988037cc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Sep 13 07:48:33 2022 +0000
@@ -0,0 +1,31 @@
+//----------------------------------------------------------------------
+//  縦続形II IIR フィルタ,float 型を使用
+//
+//  2022/01/19, Copyright (c) 2022 MIKAMI, Naoki
+//----------------------------------------------------------------------
+
+#include "MultirateLiPh.hpp"
+#include "IirCascade.hpp"
+#include "Coefs_IIR6_Cascade_LP_300.hpp"
+#pragma diag_suppress 870   // マルチバイト文字使用の警告抑制のため
+using namespace Mikami;
+
+const float FS_ = 10.0f;    // 入力の標本化周波数: 10 kHz
+MultirateLiPh myAdDa_(FS_); // 出力標本化周波数を4倍にするオブジェクト
+IirCascade df_(ORDER_, CK_, G0_);
+
+// ADC 変換終了割込みに対する割込みサービス・ルーチン
+void AdcIsr()
+{
+    float xn = myAdDa_.Input(); // 入力
+    float yn = df_.Execute(xn); // 縦続形 IIR フィルタの処理
+    myAdDa_.Output(yn);         // 出力
+}
+
+int main()
+{
+    printf("\r\n縦続形 IIR フィルタを実行します\r\n");
+
+    myAdDa_.Start(&AdcIsr);     // 標本化を開始する
+    while (true) {}
+}
\ No newline at end of file