Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed SerialTxRxIntr MyTicker7 Array_Matrix
Diff: IIR_Cascade/IIR_Cascade.cpp
- Revision:
- 0:17c762b41fc7
diff -r 000000000000 -r 17c762b41fc7 IIR_Cascade/IIR_Cascade.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/IIR_Cascade/IIR_Cascade.cpp Sat Oct 17 10:05:58 2020 +0000
@@ -0,0 +1,40 @@
+//---------------------------------------------------
+// 縦続形 IIR フィルタ
+//
+// 2020/05/30, Copyright (c) 2020 MIKAMI, Naoki
+//---------------------------------------------------
+
+#include "IIR_Cascade.hpp"
+
+namespace Mikami
+{
+ // コンストラクタ
+ IirCascade::IirCascade(int order, const Biquad::Coefs ck[], float g0)
+ {
+ SetCoefs(order, ck, g0);
+ Clear();
+ }
+
+ // フィルタ処理を実行する
+ float IirCascade::Execute(float xn)
+ {
+ float yn = g0_*xn;
+ for (int k=0; k<hOrder_; k++) yn = bq_[k].Execute(yn);
+ return yn;
+ }
+
+ // 係数の設定
+ void IirCascade::SetCoefs(int order, const Biquad::Coefs ck[], float g0)
+ {
+ printf("SetCoefs called!\r\n");
+ if (hOrder_ != ((order+1)>>1))
+ {
+ hOrder_ = (order+1)>>1;
+ bq_.SetSize(hOrder_);
+ Clear();
+ printf("Order changed!\r\n");
+ }
+ g0_ = g0;
+ for (int k=0; k<hOrder_; k++) bq_[k].SetCoefs(ck[k]);
+ }
+}
\ No newline at end of file