![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
IIR filter of cascade form using float type operations and coefficients for ST Nucleo F401RE.
Diff: main.cpp
- Revision:
- 8:74c678577bb0
- Parent:
- 6:9b78c8c6ed27
--- a/main.cpp Sat Nov 15 06:19:33 2014 +0000 +++ b/main.cpp Thu Nov 20 07:21:07 2014 +0000 @@ -2,7 +2,7 @@ // IIR フィルタ,縦続形,float で演算 // Analog Input : A0 // Analog Output: MCP4922 using SPI -// 2014/11/12, Copyright (c) 2014 MIKAMI, Naoki +// 2014/11/20, Copyright (c) 2014 MIKAMI, Naoki //-------------------------------------------------------------- #include "mbed.h" @@ -37,7 +37,7 @@ { myDac_.ScfClockTim3(500000); // cutoff frequency: 5 kHz - Un uk[ORDER_/2]; // 過去の計算結果を格納する配列 + Un uk[ORDER_/2]; // 過去の計算結果を格納する配列 // 過去の入力信号が格納される配列をクリア for (int k=0; k<ORDER_/2; k++) { @@ -54,7 +54,7 @@ for (int k=0; k<ORDER_/2; k++) { float un = ck_[k].a1*uk[k].u1 + ck_[k].a2*uk[k].u2 + yn; - yn = un + ck_[k].b1*uk[k].u1 + + ck_[k].b2*uk[k].u2; + yn = un + ck_[k].b1*uk[k].u1 + ck_[k].b2*uk[k].u2; // 計算結果の移動 uk[k].u2 = uk[k].u1; uk[k].u1 = un;