AM中波放送用SDR.CICフィルタのみを使用.CQ出版社「トランジスタ技術」誌,2021年5月号に掲載

Dependencies:   mbed

Committer:
MikamiUitOpen
Date:
Thu Feb 04 09:45:09 2021 +0000
Revision:
1:2b596eab04de
Parent:
0:4037028ba61a
2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:4037028ba61a 1 //-----------------------------------------------------------------
MikamiUitOpen 0:4037028ba61a 2 // 一次の IIR フィルタ
MikamiUitOpen 0:4037028ba61a 3 // y[n] = a1*y[n-1] + (1 - a1)*x[n]
MikamiUitOpen 0:4037028ba61a 4 //
MikamiUitOpen 0:4037028ba61a 5 // 2020/08/05, Copyright (c) 2020 MIKAMI, Naoki
MikamiUitOpen 0:4037028ba61a 6 //-----------------------------------------------------------------
MikamiUitOpen 0:4037028ba61a 7
MikamiUitOpen 0:4037028ba61a 8 #include "mbed.h"
MikamiUitOpen 0:4037028ba61a 9
MikamiUitOpen 0:4037028ba61a 10 #ifndef IIR_1ST_HPP
MikamiUitOpen 0:4037028ba61a 11 #define IIR_1ST_HPP
MikamiUitOpen 0:4037028ba61a 12 namespace Mikami
MikamiUitOpen 0:4037028ba61a 13 {
MikamiUitOpen 0:4037028ba61a 14 class Iir1st
MikamiUitOpen 0:4037028ba61a 15 {
MikamiUitOpen 0:4037028ba61a 16 public:
MikamiUitOpen 0:4037028ba61a 17 // コンストラクタ
MikamiUitOpen 0:4037028ba61a 18 // a1 フィルタの係数
MikamiUitOpen 0:4037028ba61a 19 Iir1st(float a1) : A1_(a1), B0_(1.0f - a1), yn_(0) {}
MikamiUitOpen 0:4037028ba61a 20
MikamiUitOpen 0:4037028ba61a 21 // フィルタの実行
MikamiUitOpen 0:4037028ba61a 22 float Execute(float xn)
MikamiUitOpen 0:4037028ba61a 23 {
MikamiUitOpen 0:4037028ba61a 24 yn_ = A1_*yn_ + B0_*xn;
MikamiUitOpen 0:4037028ba61a 25 return yn_;
MikamiUitOpen 0:4037028ba61a 26 }
MikamiUitOpen 0:4037028ba61a 27
MikamiUitOpen 0:4037028ba61a 28 private:
MikamiUitOpen 0:4037028ba61a 29 const float A1_; // フィルタ係数
MikamiUitOpen 0:4037028ba61a 30 const float B0_; // フィルタ係数
MikamiUitOpen 0:4037028ba61a 31 float yn_; // 出力
MikamiUitOpen 0:4037028ba61a 32
MikamiUitOpen 0:4037028ba61a 33 // コピー・コンストラクタ,代入演算子の禁止のため
MikamiUitOpen 0:4037028ba61a 34 Iir1st(const Iir1st&);
MikamiUitOpen 0:4037028ba61a 35 Iir1st& operator=(const Iir1st&);
MikamiUitOpen 0:4037028ba61a 36 };
MikamiUitOpen 0:4037028ba61a 37 }
MikamiUitOpen 0:4037028ba61a 38 #endif // IIR_1ST_HPP