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

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Iir1st.hpp Source File

Iir1st.hpp

00001 //-----------------------------------------------------------------
00002 // 一次の IIR フィルタ
00003 //      y[n] = a1*y[n-1] + (1 - a1)*x[n]
00004 //
00005 // 2020/08/05, Copyright (c) 2020 MIKAMI, Naoki
00006 //-----------------------------------------------------------------
00007 
00008 #include "mbed.h"
00009 
00010 #ifndef IIR_1ST_HPP
00011 #define IIR_1ST_HPP
00012 namespace Mikami
00013 {
00014     class Iir1st
00015     {
00016     public:
00017         // コンストラクタ
00018         //      a1  フィルタの係数
00019         Iir1st(float a1) : A1_(a1), B0_(1.0f - a1), yn_(0) {}
00020 
00021         // フィルタの実行
00022         float Execute(float xn)
00023         {
00024             yn_ = A1_*yn_ + B0_*xn;
00025             return yn_;
00026         }
00027 
00028     private:
00029         const float A1_;    // フィルタ係数
00030         const float B0_;    // フィルタ係数
00031         float yn_;          // 出力
00032 
00033         // コピー・コンストラクタ,代入演算子の禁止のため
00034         Iir1st(const Iir1st&);
00035         Iir1st& operator=(const Iir1st&);
00036     };
00037 }
00038 #endif  // IIR_1ST_HPP