【理化学計測】オウンドメディア:電気化学測定(02)
【理化学計測】オウンドメディア:電気化学測定(02)に関するFAQ
Q0dBリファレンス値の設定方法
FAQ ID:x082
加速度信号をdB表示させた場合に、会社で使用している結果と異なります。通常40dB程度なのですが、-20dBと表示されます。
この違いは0dBリファレンス値を設定する必要があると聞きました。
どのように設定すればよいでしょうか?
(V7以降) ホームタブ>ユーザ設定>一般を選択してください。ダイアログが表示されます。
(V6以前) メニュー"ユーザ/ユーザ設定"を選択してください。ダイアログが表示されます。
ダイアログにはいくつかのタブがありますので、"物理量"タブを選択してください。 左側の物理量リストから"加速度"を選択してください。
この後、右側にある新規ボタンをクリックしてください。以下のダイアログが表示されます。右側の0dBリファレンスに参照値を設定してください。(会社により異なりますが、加速度なら1E-3を使用しているのではないでしょうか?)
"OK"をクリックしてください。新しい単位が設定されます。この単位を使用すると、dB表示させた場合にリファレンス値を考慮します。
QFFTの解析レンジを10Hzより小さくすると解析されない?
FAQ ID:x154
解析は行われています。
解析レンジを小さくすると、計算に必要なデータを収集するために時間がかかります。
例えば、解析レンジを10Hz、ライン数を401に設定した場合、一回分のFFT演算を行うために以下の時間分のデータを収集する必要があります。
(401-1) / 10 = 40 [sec]スタートボタンを押してから40秒間も待たなければならないために解析されないと思われたのでしょう。
これはFFTアナライザの宿命です。
ここで、仕方がないとあきらめる必要はありません。
OR3シリーズでは現在のアナライザの状態を監視することができます。
確認方法は以下の通りです。
- アナライザステータスを表示する。
(V7以上の場合)ホームタブ内のステータスにチェックを入れ、"アナライザーステータスビューワ"を表示させます。
メニュー"表示"を選択して、アナライザステータスが選択されていることを確認してください。
(V6以前) - アナライザ設定ブラウザの"FFT1"の上で右クリックして、"状態の表示"を選択してください。
アナライザステータスにFFT1の状態が表示されます。 - スタートボタンを押し、アナライザステータスの"FFT1 cur.blk"に注目してください。
このようにデータを収集している様子を監視することができます。
コントロールパネルを使った他の確認方法もあります。
- コントロールパネルの上で右クリックして、"コントロールパネルのカスタマイズ"を選択してください。
- 左側のリストから"FFT1/トリガ/FFT cur.blk"を右のリストに追加させてください。OKボタンでダイアログを閉じます。
- コントロールパネルに新たにバーが追加されます。数値だけなくステータスバーで状態を確認できます。
Q時系列ファイル(Signal)の一部を数値で指定したい
QOR36/38でレコード時にスタートボタンを押してから1秒くらい遅れる
FAQ ID:x193
OR36 & 38を使用しています。
レコードを行うためにスタートボタンを押すと、約1秒位経過してから測定が開始されます。スタートボタンを押したらすぐに測定開始したいのですが、可能ですか?
可能です。
スタートボタンを押したタイミングと計測のスタートタイミングがずれるのは、レコードの計測準備が間に挟まるためです。(後述する”参考”をご参照ください。)
下記の方法で計測を行う事で、この”準備”を予め行うことが出来ます。
(V7以降) メジャータブ>コントロール>アームボタンをクリックしてください。
(V6以前) スタートボタンの左側にある"アーム"ボタンをクリックしてください。
この後、スタートボタン(実行ボタン)をクリックすると、すぐに測定を開始します。
これはアナライザ設定ブラウザのレコーダ/トリガ/レコーダ=アーム("Recorder/Trigger/Recorder = Arm")に相当します。
また、マニュアルトリガを使う方法もあります。
参考
レコードをスタートさせる際に、アナライザは全ての現在の設定をバックアップします。これはレコード中に何らかのトラブルが発生した際にとても役に立ちます。実際に測定の設定がハードドライブに書き込まれていれば、時間信号を回復することができます。これは回復モードでも時間信号の完全性を管理できるというOROSレコーダの大きな特徴の一つです。
そのまま"スタート"ボタンをクリックすると、最初にレコーダは"アーム"状態になり、それから時間信号のレコードを開始します。この結果、"スタート"ボタンを押してから約1秒の遅れが生じます。
この現象を防ぐためには、"ASB/Recorder/Trigger/Recorder = Arm"を手動でアームにする方法が最も簡単です。この操作を行えば、"スタート"ボタンを押した後の遅れはありません。
なお、他にもレコーダの開始をマニュアルトリガで行う事で、実行タイミングのラグを回避することが出来ます。
アナライザ設定ブラウザでトリガ/スタート=マニュアル(Trigger/Start = Manual)と設定してください。"スタート"ボタンを押すと、測定がアーム状態になります。それからマニュアルトリガのボタンを押すと、直後にレコーダがスタートします。
※この実行タイミングのラグはレコーダでのみ発生します。FFTや1/Nオクターブプラグインではアーム状態はありません。
QNVGateオートレンジの使用方法(ハンマリング)
FAQ ID:x172
ハンマリングなどの試験のときオートレンジ動作を実行すると、簡単に入力レンジを適切なレンジに自動設定できます。設定方法と使用方法は以下のとおりです。
オートレンジ設定方法
1. 入力プロパティ
アナライザ設定ブラウザのフロントエンド/入力の上でマウスを右クリックして入力プロパティを開いてください。下図の入力プロパティウインドウが表示されます。
2. 入力プロパティのオートレンジ可能をOnにする
ディフォルトではオートレンジ可能の項目はOnになっています。
3. オートレンジプロパティを開く
アナライザ設定ブラウザのフロントエンド/オートレンジの上でマウスを右クリックしてオートレンジプロパティを開いてください。下図のオートレンジプロパティウインドウが表示されます。
4. オートレンジプロパティの設定
(1) オートレンジのピーク検出ONの項目に、ハンマを接続したチャンネルを選択してください
(例えばハンマをCH1に接続した場合には、CH1を設定する)
下図のように設定します。
(2) マージンを設定。(オートレンジで検出したレンジよりこのマージン分だけ大きなレンジ設定になります)
(3) ピークスロープを設定(ハンマの極性を設定します)
(4) ピーク数を設定(ピーク検出するための回数を指定します)
(5) エッジ検出(一般的にはノーマルを設定してください)
オートレンジの使用方法
オートレンジプロパティウインドウのオートレンジの実行ボタンを押します。
(V6以前) あるいは、このウインドウを閉じてNVGateのメインウインドウの左下に表示されたA(オートボタン)を押します。A(オートボタン)の下に"オートレ ンジ0"が表示されます。ハンマを1回たたくと数字が"1"にかわります。3回たたくとオートレンジ動作が終了します。
オートレンジが終了すると、オートレンジをオンにしたチャンネルすべてが適正なレンジに自動設定されます。
QOR36・38でデータをエクスポートする方法
FAQ ID:x190
OR36を使用しています。測定した時系列データをエクスポートしたいのですが、マニュアルに示されたようにエクスポートコマンドが表示されません。
OR36・38はデフォルトで時系列データをPCではなく、アナライザ本体のハードディスクに保存します。 (*設定を変更すれば、データをPC上に保存することも可能です。)
PC上にはデータが存在しないので、エクスポートコマンドが有効になりません。
データをエクスポートしたい場合には、先に、アナライザ本体のハードディスクからPCへデータを”ダウンロード”してください。
これによりエクスポートコマンドが有効になります。
関連Q複数のモビディスクを接続できますか?
Q1 マイクロホンで計測できる最小の音圧レベル(SPL)はどれくらいですか。
FAQ ID:セクション Ⅳ:仕様説明
音響マイクロホンアセンブリのノイズフロアは、構成するマイクロホンとプリアンプのノイズの和となります(加速度計や圧力計の(ブロードバンド)分解能仕様のようなもの)。 計測可能な最小の音圧レベル(SPL)は、「カートリッジ熱ノイズ」と定義されるマイクロホンのノイズフロアより高くなります。
計測可能な最小の信号については、プリアンプの電気ノイズの他、ケーブル、電源、ソフトウェア、フィルター、データ収録装置と設定、背景雑音等、試験構成に含まれるコンポーネントからのノイズも考慮する必要があります。 本項目では、マイクロホンとプリアンプのアセンブリに焦点を置いています。ノイズフロアは、マイクロホンとプリアンプの合計となります。下図に示す通り、低周波数ではプリアンプのノイズが高く、高周波数ではマイクロホンのノイズが高くなっています。
ノイズフロアは、1/3(またはその他の)オクターブバンドでdBまたはdBAで示すことができます。ダイアフラム(振動板)が大きいほど、また感度が高いほど、マイクロホンのカートリッジ熱ノイズのノイズフロアを低くすることができます。一般的な1/2インチ自由音場型マイクロホンのノイズフロア仕様は、15-20 dBAです。dBAの意味については、第1項(訳者注:別項目のようです)を参照して下さい。1インチマイクロホンのノイズフロアは約10-15 dBAであり、1/4インチマイクロホンのノイズフロアは約30-60 dBAです。定格線形(またはZ特性)ノイズフロアはより高くなります。 新型378A04は特別なマイクロホンであり、定格ノイズフロアは6.5 dBA (標準値5.5 dBa)です。PCBの378A04型マイクロホンとPCBのプリアンプを組み合わせてノイズフロアを実際に計測したデータを下図に示します。
ノイズフロアは周波数に依存します。基本的には、ノイズフロアはマイクロホンやプリアンプの使用可能な周波数レンジにおける全周波数のカーブの下にあるエリアを意味しますが、特定の周波数や1/3オクターブバンドを見ると、ノイズフロアは上図のようにずっと低いことがあります。100 Hz 1/3オクターブバンドを見ると、A特性ノイズフロアは約 -24 dBAです。これは負数であり、ヒトの可聴域を大幅に下回っており、同じ100 Hzバンドでの線形スケールによる値は約 -5 dBです。
また、環境や測定能力を踏まえて、使用目的に最適なマイクロホンを選ぶことが重要です。ユーザーが無響室(または防音室か防音環境)をお持ちでなければ、背景雑音はマイクロホンやプリアンプのノイズフロアよりも大きい可能性が高く、378A04を使ってもより安価な378B02を使っても測定結果は変わらないでしょう。逆に、ユーザーが非常に低いノイズの計測を目指していて、本来のローノイズ試験に必要な設備をすべてお持ちの場合には、新型378A04 がPCBのプリポラライズド型マイクロホンの中で最も優れたローノイズ性能を発揮します。
Qサイクロイド波形を作りたい。
Q波形の切り出しを絶対時間で行いたい。
直接求める関数は用意されていないため、下記の様なシーケンスで求めて下さい。 TxSplit()関数はimc FAMOS Ver 7.2以降が必要です。
例)
Data = Car_Speed ; 切り出し元データ
T1 = "2018/09/14 09:03:00" ; 切り出し開始絶対時間。書式「年/月/日 時:分:秒」
T2 = "2018/09/14 15:33:30" ; 切り出し終了絶対時間。書式「年/月/日 時:分:秒」
; 切り出し時間のテキストを数値に変換
_T1spl = TxSplit(T1, "/; ;:") ; 要素毎に分解
_T1num = TimeJoin(TtoSv(_T1spl[3],"f"), TtoSv(_T1spl[2],"f"), TtoSv(_T1spl[1],"f"), TtoSv(_T1spl[4],"f"), TtoSv(_T1spl[5],"f"),
TtoSv(_T1spl[6],"f"))
_T2spl = TxSplit(T2, "/; ;:")
_T2num = TimeJoin(TtoSv(_T2spl[3],"f"), TtoSv(_T2spl[2],"f"), TtoSv(_T2spl[1],"f"), TtoSv(_T2spl[4],"f"), TtoSvpl[5],"f"),
TtoSv(_T2spl[6],"f"))
; 切り出し元データの絶対時間
_dataT1 = TimeAdd(Time?(Data), XOff?(Data))
_dataT2 = TimeAdd(_dataT1, XDel?(Data) * (Leng?(Data) - 1))
if _T1num < _dataT1 or _dataT2 < _T2num
BoxMessage("エラー", "切り出し時間が波形に含まれていません", "!1")
ExitSequence 1
end
; 絶対時間で指定した範囲を切り出し
CutData = Cut(Data, TimeDiff(_T1num, Time?(Data)), TimeDiff(_T2num, Time?(Data)))
; カーブウィンドウで表示
CwNewWindow("Cv1", "show")
CwSelectWindow("Cv1")
CwAction("reset")
CwPosition(0,0,640,480)
CwDisplaySet("title", "")
CwNewChannel("append last axis", CutData)
CwNewChannel("append last axis", Data)
CwSelectByIndex("x-axis", 1)
CwAxisSet("scale", 4)
del _*
Q尖度を求めたい。
直接求める関数は用意されてないため、下記の様なシーケンスで求めて下さい。
例)
_data = Random(10000, 2, 0, 0, 0) ; 正規分布に従ったサンプルデータ
_Hist = Histo(_data, 0, 0) ; 分布の形状の目視確認用
_StDev = StDev(_data) ; 標準偏差σ
_Mean = Mean(_data) ; 平均
_N = Leng?(_data) ; データ点数
Kurtosis = Sum((_data - _Mean)^4) / _StDev^4 / _N
{Kurtosis-3} = Kurtosis - 3 ; 正規分布が尖度0とする定義
; Excel KURT()相当
;
https://support.office.com/ja-jp/article/kurt-%E9%96%A2%E6%95%B0-bc3a265c-5da4-4dcb-b7fd-c237789095ab
; より
_v1 = _N*(_N+1) / ((_N-1)*(_N-2)*(_N-3))
_v2 = Sum((_data - _Mean)^4) / _StDev^4
_v3 = 3*(_N-1)^2 / ((_N-2)*(_N-3))
ExcelKurt = _v1 * _v2 - _v3
Qカーブウィンドウの各プロパティを操作する関数の使用例を紹介するサンプルパネル その4
カーブウィンドウの各プロパティを操作する関数の使用例を紹介するサンプルパネルを用意しました。
FAMOSでサンプルパネルを読み込んで実行してください。
本サンプルパネルでは下記の関数の使用例を紹介します。argNは引数を表しています。
CwNewElement("marker") ; マーカーの追加
CwMarkerSet("x", arg1) ; マーカーのX座標の指定
CwMarkerSet("text", arg1) ; マーカーに表示するテキスト
CwMarkerSet("color.text", arg1) ; マーカーのテキスト色
CwMarkerSet("color.background", arg1) ; マーカーの背景色
CwMarkerSet("angle", arg1) ; マーカーの線の角度
CwDeleteElement("marker") ; マーカーの削除
Qカーブウィンドウの各プロパティを操作する関数の使用例を紹介するサンプルパネル その3
カーブウィンドウの各プロパティを操作する関数の使用例を紹介するサンプルパネルを用意しました。
FAMOSでサンプルパネルを読み込んで実行してください。
変数リストの[測定]タブで波形を1つ選択してください。
本サンプルパネルでは下記の関数の使用例を紹介します。argNは引数を表しています。
CwSelectByIndex("cosys", 1) ; 座標1を選択
CwNewChannel("append to cosys", arg1) ; 座標に波形を追加
CwAction("measure.show") ; 測定ウィンドウを表示
CwAction("measure.invisible") ; カーソルのみ表示
RX = CwDisplayGet("measure.x.right") ; 右カーソルのX値
RY = CwDisplayGet("measure.y.right") ; 右カーソルのY値
LX = CwDisplayGet("measure.x.left") ; 左カーソルのX値
LY = CwDisplayGet("measure.y.left") ; 左カーソルのY値
Qカーブウィンドウの各プロパティを操作する関数の使用例を紹介するサンプルパネル その2
カーブウィンドウの各プロパティを操作する関数の使用例を紹介するサンプルパネルを用意しました。
FAMOSでサンプルパネルを読み込んで実行してください。
変数リストの[測定]タブで波形を3つ選択してください。
本サンプルパネルでは下記の関数の使用例を紹介します。argNは引数を表しています。
CwDisplaySet("displaymode", arg1) ; 表示形式(重ね書き、スタック、ウォーターフォール等)を指定します。
CwDisplaySet("colors.printer.indiv", 1) ; パネル上のカーブウィンドウの色を操作することを宣言します。パネル上のカーブウィンドウはprinter、通常のカーブウィンドウはscreenになります。
CwColorSet("cos.back", arg1, arg2, arg3) ; 座標の内側(波形の背景)の色を指定します。
CwColorSet("back", arg1, arg2, arg3) ; 座標の外側の背景色を指定します。
CwColorSet("text", arg1, arg2, arg3) ; 軸のテキストの色を指定します。
CwColorSet(1, arg1, arg2, arg3) ; 1番目の波形の色を指定します。
CwColorSet(2, arg1, arg2, arg3) ; 1番目の波形の色を指定します。
CwColorSet(3, arg1, arg2, arg3) ; 1番目の波形の色を指定します。
RGB() ; 赤緑青の数値を指定して色を表す値を生成します。
Qカーブウィンドウの各プロパティを操作する関数の使用例を紹介するサンプルパネル その1
カーブウィンドウの各プロパティを操作する関数の使用例を紹介するサンプルパネルを用意しました。
FAMOSでサンプルパネルを読み込んで実行してください。
変数リストの[測定]タブで波形を2つ選択してください。
本サンプルパネルでは下記の関数の使用例を紹介します。arg1は引数を表しています。
CwSelectWindow(arg1) : カーブウィンドウ関数が操作する対象のカーブウィンドウを指定します。
CwDisplaySet("legend.display", arg1) ; 凡例の表示・非表示を指定します。
CwDisplaySet("grid", arg1) ; グリッドの表示・非表示を指定します。
CwSelectByIndex("x-axis", 1) ; 操作する軸としてX軸を指定します。
CwAxisSet("scale", arg1) ; 表示形式(線形、対数、絶対時間など) を指定します。
CwAxisSet("range", arg1) ; 軸の表示範囲を指定します。
CwAxisSet("max", arg1) ; 表示範囲の上限を指定します。
CwAxisSet("min", arg1) ; 表示範囲の下限を指定します。
Qアステロイド(星芒形)波形を作りたい。
QシーケンスでCSVファイルへ保存したい。
ASCII Export Template機能によりCSV等のテキストファイルへ保存できます。 テキストファイルの書式は[エクストラ]>[オプション]>[ファイル 保存/エクスポート]>[ASCII]で定義できます。
「FAMOS_CSVエクスポート方法(ASCII Export Template).pdf」を参照して下さい。 シーケンスでの使用例は下記の通りです。
例)
_id = FileOpenASCII2("C:¥imc¥DatTemptemp1.csv", "CsvSample", 1) ; ファイルを開く
_err = FileObjWrite(_id, sintest1) ; 変数を書き込む
_err = FileObjWrite(_id, sintest2)
FileClose(_id) ; ファイルを閉じる
Q変数をスピーカーで音として再生したい。(Version 5以前では)
FAQ ID:g014
注意:
この回答内容はVersion 5以前まででご利用下さい。
Version 6以降ではカーブウィンドウに表示した波形を直接再生できます。
以下の手順で変数をスピーカーから再生できます。
(1)再生したい変数を選択してください。
(2)メニュー“変数/変数の再生”を選択します。
注意:
音は±1の範囲の値を再生します。
もし、この範囲に無い場合、レベルを校正してください。
以下のようにレベルが±1でない場合、
以下のコマンドを使用してレベルを校正します。
Signal2 = Signal / Max( Abs( Signal ) )
Q積分した波形を記録したい
FAQ ID:x065
加速度波形をOR30で積分して、その積分された波形を記録できますか?
入力設定タブ>フィルタ設定をクリックして、積分1を入力1に接続してください。
フィルタ接続プロパティが表示されますので、タイプに"HP + 1階積分"もしくは"HP + 2階積分"を選択して、"OK"ボタンをクリックしてください。加速度を1階積分した場合は速度、2階積分した場合は変位になります。
Q等級線を使ったレベル判定
FAQ ID:s014
データロガーやFFTアナライザーを使って測定したデータに対して、等級線を使用して良否判定する方法を紹介します。
上図において、波形Speedは測定データです。波形は等級線です。
等級線は以下のようなデータを設定しています。
Limit.X | Limit.Y |
---|---|
0.5 | 5 |
2 | 3 |
3 | 3 |
3.5 | 4 |
例えば、測定波形が等級線を越えた場合、不良品であると仮定します。
設定したレベルを超えたかどうか判断するために関数Subを利用してください。
Judge = Sub( Speed, Limit, 0
結果は以下のようになります。
注意:
ここで、結果JudgeのX軸範囲に注目してください。
等級線で設定された範囲のみで計算します。
結果Judgeが0より大きい値を持つとき、不良であることを示します。
0より大きい値を持つかどうかは以下のように簡単に判定することができます。
IF ?Max( Judge) > 0
Err = BoxMessage( "良否判定","この製品は規格を満たしていません", "!1")
End
サンプル
測定波形は既に用意されているとします。
;*************************************** ;等級線を作成します ;*************************************** tempX = Leng( 0, 4) tempX[1] = 0.5 tempX[2] = 2 tempX[3] = 3 tempX[4] = 3.5 tempY = Leng( 0, 4) tempY[1] = 5 tempY[2] = 3 tempY[3] = 3 tempY[4] = 4 Limit=XYof( tempX, tempY) ;*************************************** ;判定 ;*************************************** Judge = Sub( Speed, Limit,0) IFMax( Judge) > 0 Err = BoxMessage( "良否判定","この製品は規格を満たしていません", "!1") End
サンプル
さらに数段階の等級を設定し、等級判定することもできます。
測定波形は既に用意されているとします。
;*************************************** ;等級線を作成します ;*************************************** i=1 While i<=7 tempX = Leng( 0, 4) tempX[1] = 0.5 tempX[2] = 2 tempX[3] = 3 tempX[4] = 3.5 tempY = Leng( 0, 4) tempY[1] = 2+i tempY[2] = 0+i tempY[3] = 0+i tempY[4] = 1+i FName = TAdd( "Level", TForm( i, "F00")) = XYof( tempX, tempY) GrChanAppend( Limit, ) Del i=i+1 End ;*************************************** ;判定 ;*************************************** i=1 While i<=7 FName = TAdd( "Level", TForm( i, "F00")) Judge = Sub( Speed, Limit:,0) IF Max( Judge) < 0 Mes = TAdd( "この製品のレベルは", TForm( i, "F00")) Mes = TAdd( Mes, "です。") Err = BoxMessage( "レベル判定",Mes, "!1") i=7 End i=i+1 End