1

周期的なイベントを含むデータ セットがあり、各イベントを分離するためのしきい値 (ピーク) を特定しているとします (最終的に変動係数を見つけるため)。

私はこのデータを複数回試しています。これらのイベントの速度は、他のイベントよりも大幅に速い場合があります。このデータも少しノイズが多いため、「findpeaks」関数内で「minpeakdistance」制約を設定しないと、「誤った極大値」が検出されることがあります。

速度に関係なく、「真の極大値」を見つける方法を見つけようとしています。真のピークのみを識別したことを確認するために、各試行を視覚的に検査してきました-偽のピークも識別した場合は、その特定の試行のmpd値を調整しました-しかし、これには文字通り数日かかります.

助言がありますか?

例:

私のコレクションのほとんどの試行では、次のコード行は真の最大値のみを識別します。

mpd = 'minpeakdistance';

eval(['[t' num2str(a) '.Mspine.pks(:,1),t' num2str(a) '.Mspine.locs] = findpeaks(t' num2str(a) '.Mspine.xyz(:,1), mpd,25);']);

しかし、試行 11 では、それらははるかに速く動いているため、mpd を 9 に調整する必要があります。ただし、すべての試行に mpd 値 9 を適用すると、偽の極大値が検出されます。

4

1 に答える 1

0

この「周期的なイベント」を見つけるために、周波数領域に行きます。具体的には、データがサンプリング/生成されるレートがわかっている場合、FFT を使用すると、データ内のすべての周期的イベントの相対的な強度が示されます。見てください:http://www.mathworks.se/help/matlab/ref/fft.html

于 2012-11-12T08:29:32.667 に答える