ファンクション・ジェネレータ このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.
Dependencies: Array_Matrix mbed SerialTxRxIntr MyTicker7
FastSin.hpp@0:53c0fa8a9aa2, 2021-09-09 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Thu Sep 09 08:50:21 2021 +0000
- Revision:
- 0:53c0fa8a9aa2
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:53c0fa8a9aa2 | 1 | //----------------------------------------------------------- |
MikamiUitOpen | 0:53c0fa8a9aa2 | 2 | // FastSin() 関数 |
MikamiUitOpen | 0:53c0fa8a9aa2 | 3 | // sin(πx/2) の値の計算 |
MikamiUitOpen | 0:53c0fa8a9aa2 | 4 | // |
MikamiUitOpen | 0:53c0fa8a9aa2 | 5 | // 2020/06/01, Copyright (c) 2020 MIKAMI, Naoki |
MikamiUitOpen | 0:53c0fa8a9aa2 | 6 | //----------------------------------------------------------- |
MikamiUitOpen | 0:53c0fa8a9aa2 | 7 | |
MikamiUitOpen | 0:53c0fa8a9aa2 | 8 | #ifndef FASTSIN_POLYNOMIAL_HPP |
MikamiUitOpen | 0:53c0fa8a9aa2 | 9 | #define FASTSIN_POLYNOMIAL_HPP |
MikamiUitOpen | 0:53c0fa8a9aa2 | 10 | |
MikamiUitOpen | 0:53c0fa8a9aa2 | 11 | namespace Mikami |
MikamiUitOpen | 0:53c0fa8a9aa2 | 12 | { |
MikamiUitOpen | 0:53c0fa8a9aa2 | 13 | // 引数の範囲: -2 <= x <= 2 |
MikamiUitOpen | 0:53c0fa8a9aa2 | 14 | inline float FastSin(float x) |
MikamiUitOpen | 0:53c0fa8a9aa2 | 15 | { |
MikamiUitOpen | 0:53c0fa8a9aa2 | 16 | static const float A1 = 1.570320019210f; |
MikamiUitOpen | 0:53c0fa8a9aa2 | 17 | static const float A3 = -0.642113166941f; |
MikamiUitOpen | 0:53c0fa8a9aa2 | 18 | static const float A5 = 0.071860854119f; |
MikamiUitOpen | 0:53c0fa8a9aa2 | 19 | |
MikamiUitOpen | 0:53c0fa8a9aa2 | 20 | if (x > 1.0f) x = 2.0f - x; |
MikamiUitOpen | 0:53c0fa8a9aa2 | 21 | if (x < -1.0f) x = -2.0f - x; |
MikamiUitOpen | 0:53c0fa8a9aa2 | 22 | float x2 = x*x; |
MikamiUitOpen | 0:53c0fa8a9aa2 | 23 | return ((A5*x2 + A3)*x2 + A1)*x; |
MikamiUitOpen | 0:53c0fa8a9aa2 | 24 | } |
MikamiUitOpen | 0:53c0fa8a9aa2 | 25 | } |
MikamiUitOpen | 0:53c0fa8a9aa2 | 26 | #endif // FASTSIN_POLYNOMIAL_HPP |