NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

連続したデータを平均化する方法

解決済み
解決策を見る

いつもお世話になっております。

 

データ処理で困っております。

 

連続して出力される数値(U8)をX個単位で平均化し、その平均値を出力したいのですが、配列関数、For loopなど使いましたが、うまくいきません。

 

平均化するにはどの関数を用いればよろしいでしょうか?

 

よろしくお願いいたします。

 

 

 

 

0 件の賞賛
メッセージ1/11
20,095件の閲覧回数

こんにちは

こんな事がしたいのかな?

添付ファイルを参照下さい。

違っていたらご容赦下さい。

0 件の賞賛
メッセージ2/11
20,082件の閲覧回数

S_YM様

 

ご連絡くださりありがとうございます。

VIまで添付してくださり大変うれしいです。

しかし、私が使用しているバージョンが8.2.1のため開くことができませんでした。。

 

もしよろしければimageで添付していただけますでしょうか。

お手数をおかけして申し訳ございません。

 

なお、画像を添付いたしました。While loopの中のVIの一部の画像ですが、1対のU8データをそれぞれ(X,Y)の2次元データに変換し(ケースストラクチャ部分)、X,Yそれぞれ2で割り、データを出力しております。

2で割ったあとで、任意のX個のデータを1つにまとめて平均値を求めたいというのが所望の動作です。

 

よろしくお願い申し上げます。

 

0 件の賞賛
メッセージ3/11
20,072件の閲覧回数

お早う御座います。

LabVIEW8.2.1版を添付いたします。

データを配列に格納できれば簡単に転用できます。

それでは 

メッセージ4/11
20,052件の閲覧回数

Medphys_ST 様

 

日本ナショナルインスツルメンツ技術部 寺尾です。
平素よりディスカッションフォーラムをご利用頂き誠にありがとうございます。

 

途中からではございますが失礼します。

ある演算をを行われた後に任意の個数のデータに対して平均化を行われたということですのでシフトレジスタ、「配列連結追加」関数を用いることで可能でございます。
サンプルVIを添付しましたのでご覧ください。
サンプルVIはデータ数(配列要素数)が10個に達すると平均化を行います。配列要素数が10に達し平均化を行われますと一度配列内のデータをクリアし新たな10データを格納します。
ここで使用しましたシフトレジスタは過去のデータを保持する"メモリ"の役割を果たしています。VI中にもVIの動作に関してコメントを記しましたので参考にして頂ければと思います。

 

宜しくお願いします。


+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-​+-+-+-+-+-+-+-+-+-+-+-+
 日本ナショナルインスツルメンツ株式会社 | 技術部 | 寺尾 純一
 Junichi Terao | Applications Engineer | National Instruments Japan Corp.

 サポート情報: http://www.ni.com/support/ja
 技術データベース: http://www.ni.com/kb
 住所 : 〒105-0011 東京都港区芝公園2-4-1 ダヴィンチ芝パーク A館4F
 お問い合わせフリーダイヤル: 0120-527196
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-​+-+-+-+-+-+-+-+-+-+-+-+

メッセージ5/11
20,005件の閲覧回数

S_YN様

 

ご回答いただきながらご連絡が遅くなりまして大変申し訳ございません。

再度VIを添付してくださり、誠にありがとうございます。

参考にさせていただきます。

今後ともよろしくお願い申し上げます。

0 件の賞賛
メッセージ6/11
19,961件の閲覧回数

情報が少ないので色々と考えさせられますね。(笑)

 

ここで言う平均化が、数値データの平滑化を意図するのであれば移動平均を取るのが良いのかな、と思われますが如何でしょうか。

 

何かのご参考になれば幸いです。

 

23410i3C93E7D864C4E5B9

0 件の賞賛
メッセージ7/11
19,937件の閲覧回数
解決策
トピック作成者Medphys_STが受理

日本ナショナルインスツルメンツ技術部 寺尾 様

 

いつもお世話になっております。

回答を頂戴しながらご連絡が遅れまして大変申し訳ございません。

 

先ほど、サンプルVIを参考にさせていただき、任意の個数のデータの平均化を行うことができました。

ただ、平均化されたデータが不正確な値を示しており、こちらはご教授いただいた部分以外のところで間違っていると考えられますので原因を調べます。

 

ありがとうございました。

今後ともよろしくお願い申し上げます。

0 件の賞賛
メッセージ8/11
19,926件の閲覧回数

高須 様

 

ご回答くださりありがとうございます。

VIに詳細な説明までつけて添付していただき、理解することができました。

移動平均について知りませんでした。今後の参考にさせていただきます。

本当にありがとうございました。今後ともよろしくお願いいたします。

0 件の賞賛
メッセージ9/11
19,893件の閲覧回数

高須様のVIの感想を述べさせていただきます

移動平均を取ることはできていると思いますが、この方式だと 配列がどんどん肥大して永久ループが構成できません

そこで、配列の変わりにキューを使用すれば よりベターだと思いますがいかがでしょうか

 

0 件の賞賛
メッセージ10/11
19,875件の閲覧回数