CQエレクトロニクス・セミナ「実習・マイコンを動かしながら学ぶディジタル・フィルタ」で使う適応線スペクトル強調器(ALE)のプログラム.ステップサイズパラメータをターミナルから変更できる. http://seminar.cqpub.co.jp/ccm/ES18-0020
Dependencies: F746_GUI F746_SAI_IO mbed
Filter/GaussRand.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2018-03-02
- Revision:
- 0:c8e52f514e03
File content as of revision 0:c8e52f514e03:
//--------------------------------------------------------- // 線形合同法による一様乱数を使い,中心極限定理を利用する正規乱数発生 // <文献> // 三上直樹:「アルゴリズム教科書」,第11章,CQ出版,1996年. // // 2018/03/02, Copyright (c) 2018 MIKAMI, Naoki //--------------------------------------------------------- #include "Random.hpp" namespace Mikami { class GaussRand { public: // sigma 標準偏差 // av 平均値 GaussRand(float sigma, float av) : sigma_(sigma), av_(av), rd_(901253) {} GaussRand(float sigma, float av, uint32_t x) : sigma_(sigma), av_(av), rd_(x) {} // 中心極限定理を利用する正規乱数発生 float Next() { float gauss = 0; for (int n=0; n<12; n++) gauss += rd_.Next(); return sigma_*(gauss - 6.0f) + av_; } private: float sigma_; float av_; Mikami::Random rd_; }; }