ファンクション・ジェネレータ このプログラムの説明は,CQ出版社「トランジスタ技術」の2021年10月号から開始された連載記事「STM32マイコンではじめるPC計測」の中にあります.このプログラムといっしょに使うPC側のプログラムについても同誌を参照してください.

Dependencies:   Array_Matrix mbed SerialTxRxIntr MyTicker7

Committer:
MikamiUitOpen
Date:
Wed Oct 06 12:20:04 2021 +0000
Revision:
1:0430f1ed6c2c
Parent:
0:53c0fa8a9aa2
2

Who changed what in which revision?

UserRevisionLine numberNew 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