家庭のコンセントから取れる電源は交流ですが、実効値や電力を求めるのは結構ややこしいです。
電気回路を学び始めて最初の壁でしょうか。
では、実際に取得したデータから実効値や電力を求めるにはどうしたらいいでしょうか。
ここではそれらの値はどのようにして求めたらいいかまとめてみます。
正弦波だけでなく歪んでいたり、はたまた方形波だったり全然違う波形でも特性値を求める一般的な話をしたいと思います。
家庭のコンセントから取れる電源は交流ですが、実効値や電力を求めるのは結構ややこしいです。
電気回路を学び始めて最初の壁でしょうか。
では、実際に取得したデータから実効値や電力を求めるにはどうしたらいいでしょうか。
ここではそれらの値はどのようにして求めたらいいかまとめてみます。
正弦波だけでなく歪んでいたり、はたまた方形波だったり全然違う波形でも特性値を求める一般的な話をしたいと思います。
Arduinoでセンサの値を受け取るなどのプロトタイピング的なことをすることは多いですが、そのときに嫌でもついてくるのが「信号処理」です。
別に生データを見るくらいなら特に気にすることもないのですが、それを使って解析するのであれば「それらしい値」が必要です。
自前でプログラムを書いてもいいのですが、面倒じゃないですか。
だったら素晴らしい有志の方が公開しているライブラリを使わない手はありません。
データの平均値をとることは多いですが、データが逐次的に入ってくるときは普通の計算では今までの全てデータが必要で総和を取る必要があり、これは計算量が多いです。
マイコンなどのメモリが少なく、スペックがあまり高くないシステムであれば、想像以上に影響が出てきます。
ここでは短い計算時間でメモリを節約でき、流れてくるデータの平均値を順次求めていく方法を紹介します。
ADC(アナログ-デジタル変換器)で取得したデータは量子化されているため、基準電圧に対してのバイナリデータになります。
そのままでも使える場合もありますが、抵抗値や電圧を測定する場合は、計算で求める必要があります。
様々な状況がありますが、換算式を忘れてしまって毎回手計算で求めているのでここにまとめようと思います。
温度センサや加速度センサなどの出力値はアナログ値であろうとデジタル値であろうとブレブレであることがほとんどです。
そのままでは使えないので必要な信号成分を取り出さないといけません。
アナログ出力のセンサの場合はフィルタ回路を組んでやってもいいですが、柔軟な対応ができなかったりします。
そこでソフトでフィルタを作ってやるとスマートにノイズの除去が可能になります。
センサ入力などにフィルタを使う場合、ノイズ除去がほとんどですのでそれによく用いられるローパスフィルタ(LPF)を紹介します。