切削加工の専門書と論文のリストとオススメ
最終更新日:2023年11月19日

戻る

サンプリング周波数と解析方法の組み合わせによる測定誤差

実験において測定を行う際には,サンプリング周波数の選択と,測定結果の解析手法を行います.
サンプリング周波数の選択においては,多くのWEBサイトにて,ナイキスト周波数の話や,測定対象の周波数の10倍以上が必要といった話がされています.
しかしながら,サンプリング周波数の選定時に気にすべきことは,本当にそれだけでいいのでしょうか.
ここでは,サンプリング周波数の選択と,測定結果の解析手法によって生じうる測定誤差について調査してみます.

ここでは,正弦波の測定において,種々のサンプリング周波数と解析手法を適用し,測定誤差を評価します.
測定対象の正弦波は,片振幅1,周波数は1000Hz,波数100個とします.
これをサンプリング周波数100Hzから10kHz,つまり,0.1倍から10倍の周波数で測定します.
測定対象とサンプリングとの位相差については,サンプリング周期を200分割して考慮します.

\( X = \sin\{ 2 \pi f_{t} ( t + \epsilon ) \} \)
\( f_{t} \): 測定対象の周波数
\( t \): 時間
\( \epsilon \): 位相差

\( t = \cfrac{N}{f_{s}} \) at \( 0 \le t \le \cfrac{k}{f_{t}} \)
\( f_{s} \): サンプリング周波数
\( N \): \( 0 \le N \le \cfrac{k f_{s}}{f_{t}} \)を満たす整数

\( \epsilon = \cfrac{M}{Z f_{s}} \) at \( 0 \le \epsilon \le \cfrac{1}{f_{s}} \)
\( M \): \( 0 \le M \le k \)を満たす整数
\( Z \): 位相差の分割数(自然数.ここでは\( Z = 200 \))

より,
\( X = \sin\{ 2 \pi f_{t} ( \cfrac{N}{f_{s}} + \cfrac{M}{Z f_{s}} ) \} \)
によって,得られる数値群をあるサンプリング周波数によって得られる測定値とします.

次に,解析手法を定めます.
一般的には,平均値や標準偏差,最大値,最小値,スペクトル解析が使われると考えます.
よって,上記測定結果に,これらの解析手法を適用し,その結果がどうなるかを調査します.
ただし,最大値と最小値は正弦波測定の場合,正負が反転するだけで等価と考えられるので,最小値は評価しないこととします.
よって,下記内容の解析手法を上記測定値に適用します.

  1. 平均値
    \( X_{mean} = \cfrac{1}{N} \sum(X) \)
    正弦波測定での理論解は\( X_{mean} = 0 \)となる.

  2. 標準偏差
    \( X_{std} = \sqrt{ \cfrac{1}{N} \sum(X - X_{mean} )^2 } \)
    正弦波測定での理論解は\( X_{std} = \cfrac{1}{\sqrt2} \approx 0.7071 \)となる.

  3. 最大値
    \( X_{max} = max(X) \)
    正弦波測定での理論解は\( X_{max} = 1 \)となる.

  4. スペクトル解析
    測定値をフーリエ変換し,片振幅スペクトルを取得する.
    ここでは,ハニング窓と振幅補正を適用します.
    直流成分以外の片振幅スペクトルのピークから最大値を示すものを取得する.
    今回正弦波測定においては1が正しい.

では,サンプリング周波数を変えながら,各解析手法で得られた結果をグラフにしたものを以下に示します.
まずは平均値です.

measurement_error_mean
図 平均値での解析結果
図中に示される最大値と最小値は,位相によって平均値が変化する場合の,その変化範囲の最大値と最小値を示しています.
つまり,最大値と最小値の間が広い条件ほど,位相差による測定結果変動が大きくなるということを示しています.
測定対象の周波数1000Hzがナイキスト周波数となるサンプリング周波数2000Hz以下では,本来の平均値0に対して大きな差が生じています.

measurement_error_mean
図 平均値での解析結果(縦軸一部拡大)
サンプリング周波数2000Hz以上においては,0.005以下の差となっていることがわかります.

次は標準偏差です.

measurement_error_std
図 標準偏差での解析結果
ここでもサンプリング周波数2000Hz以下では,本来の標準偏差0.7071に対して大きな差が生じています.

measurement_error_std
図 標準偏差での解析結果(縦軸一部拡大)
サンプリング周波数2000Hz以上においては,0.001以下の差となっていることがわかります.

次は最大値です.
最小値に関しては正負を反転して考えてください.

measurement_error_maximum
図 最大値での解析結果
ここではナイキスト周波数とは関係なく,大きな差が生じていることがわかります.
特に,同図中の赤丸や青四角で示している特定のサンプリング周波数において顕著です.
これは信号処理や音楽業界においてISP(Inter Sample Peak)と呼ばれているものです.
簡単に言えば,サンプル点間に真の最大値が存在していて,実際の最大値は測定できていない,ということによって,この差が生じています.
この特定のサンプリング周波数というのは,測定対象の周波数と特定の関係を持つものになっており,以下の数式で差を計算することができます.
\( X_{red} = \cos\{ \cfrac{\pi f_{t}}{ P f_{s} } \} \)
\( X_{blue} = \cos\{ \cfrac{\pi f_{t}}{ 2 ( P + 0.5 ) f_{s} } \} \)
\( X_{red} \): 上図中赤丸点の値.サンプリング周波数の自然数倍で生じる.
\( X_{blue} \): 上図中青四角点の値.サンプリング周波数の(0.5+自然数)倍で生じる.
\( P \): 自然数

measurement_error_maximum
図 最大値での解析結果(縦軸一部拡大)
サンプリング周波数2000Hz以上でも,数%以上の差が生じています.

次はスペクトル解析です.

measurement_error_spectrum_hanning
図 片振幅スペクトルでの解析結果
サンプリング周波数2000Hzを超えたあたりから,最大値と最小値の差が小さくなっている様子が確認できます.
サンプリング周波数2000Hzで片振幅が2になっているのは,測定できた1000Hzと,エイリアシングによる折り返しの1000Hzが重なったことが原因だと考えます.

measurement_error_spectrum_hanning
図 片振幅スペクトルでの解析結果(縦軸一部拡大)
ナイキスト周波数以上においては,15%以下の差となっていることがわかります.

参考までに,ハニング窓と振幅補正を適用しなかった結果を以下に示します.

measurement_error_spectrum
図 片振幅スペクトルでの解析結果(ハニング窓と振幅補正なし)
measurement_error_spectrum
図 片振幅スペクトルでの解析結果(縦軸一部拡大,ハニング窓と振幅補正なし)
ハニング窓と振幅補正を適用した場合と比べると,差が大きくなっていることがわかります.

以上の結果より,測定対象の周波数の10倍をサンプリング周波数として確保できていれば,平均値や標準偏差,振幅スペクトルは使えるように考えます.
しかしながら,最大値(最小値)に関しては,測定対象の周波数の自然数倍や(自然数+0.5)倍を用いる限り,大きな差が生じてしまいます.

測定対象の周波数とは,具体的には,旋削加工時の断続切削の周波数であったり,フライス加工であれば切れ刃通過周波数になります.
それらの周波数に対して,上記検証結果を踏まえて,サンプリング周波数を決定し,解析するべきだと考えます.

戻る