解決策
DIAdemにおけるエンベロープカーブの計算は
こちらの資料で説明されている論理に基づいて行われます。具体的には、X軸においてインターバルサイズを%で指定し、その領域内で極値を検索します。
例えば、下記のような複数のピークが存在するグラフ(data)を想定します。これらのピークの間隔は0.5秒、1秒、1.5秒のいずれかです。このグラフのX軸は0秒から10秒間まで(0-10)もしくは0秒から10.1秒(0-10.1)の2つの時間軸が存在し、それぞれ101点もしくは102点のデータを持ちます。
上記のデータに対してエンベロープカーブの計算を行います。
時間軸が0秒から10秒間まで(0-10)の物の場合、
X範囲に対してのインターバルサイズを5 %とすると、(10 - 0) * 0.05 = 0.5秒の範囲内のデータの中から極値を探します。例えば1.5秒付近のピークから次のピークを探しに行く場合、x < 1.5+0.5の範囲までのピークを探すため、2秒の部分に存在するピークを捕まえることができず、包絡線は2秒の手前において0となります(左図)。一方、
X範囲に対してのインターバルサイズを6 %とするとx < 1.5 +0.6までの部分で次のピークを探すため、2秒付近のピークをとらえることができ、0.5秒間隔に存在するピークに対して包絡線を描く事ができます。
インターバルサイズが10, 11 %の場合や15, 16 %の場合も同様の挙動を確認できます。インターバルサイズが15 %の時と16 %の時とを比較すると1.5秒の時間範囲内で最大のピークを捕まえる為、いくつかのピークについては包絡線から除外されている事が確認できます。
また、時間軸を0-10.1秒に変更した場合、
X範囲に対してのインターバルサイズを5 %の状態で(10.1 - 0) * 0.05 = 0.505秒となる為、0.5秒間隔のピークを含めた包絡線を描く事ができます。