表面筋電図信号 sEMG の共通の特徴

1. 二乗平均平方根 (RMS)

この特徴は、特定の時間枠内の sEMG 信号の平均振幅の平方根を指し、通常、筋収縮の強度と疲労を評価するために使用されます。一般に、筋肉に大きな負荷がかかったり疲労したりすると RMS は減少し、筋肉に軽い負荷がかかったり弛緩したりすると RMS は増加します。したがって、sEMG信号のRMS値の変化をモニタリングすることで、筋疲労の程度や筋収縮の強さを評価することができます。

次のように計算されます。

ここに画像の説明を挿入します
この式で、N は収集された表面筋電図信号データ ポイントの数、x_i は信号データ シーケンスの i 番目のデータであり、収集された信号の平均パワーを表すために使用されます。

MATLAB コードは次のとおりです。

function feature = fRMS(data)
    % - RMS - Root Mean Square
    feature = sqrt(mean(data.^2));  
end

2. 平均絶対値 (MAV)

この特徴は、特定の時間枠内の sEMG 信号の振幅の絶対値の平均を指し、通常、筋収縮の強度と疲労を評価するために使用されます。二乗平均平方根値 (RMS) と同様に、MAV を使用して筋収縮中の平均電気信号強度を推定することもできます。違いは、MAV は計算時に信号の 2 乗を考慮せず、振幅の絶対値を直接平均することです。したがって、MAV は RMS よりも安定しており、高周波ノイズへの影響が少なくなります。一般に、筋肉に大きな負荷がかかったり疲労したりすると、MAV は減少し、筋肉の負荷が軽くなったり、よりリラックスした状態になったりすると、MAV は増加します。したがって、sEMG信号のMAV値の変化をモニタリングすることで、筋疲労の程度や筋収縮の強さを評価することができる。

次のように計算されます。

ここに画像の説明を挿入します
この式で、N は収集された表面筋電図信号データ点の数、x_i は信号データ シーケンスの i 番目のデータであり、腕の動作信号の強度振幅を決定するためによく使用されます。

MATLAB コードは次のとおりです。

function feature = fMAV(data)
    % - MAV - Mean Absolute Value
    feature = mean(abs(data));
end

3. ゼロクロスポイント (ZC)

この特徴は、sEMG 信号波形が特定の時間枠内で水平ベースラインを横切る回数を指します。通常、筋肉の収縮と弛緩の状態を評価するために使用されます。また、筋肉の収縮状態や筋肉の収縮状態を推定するためにも使用できます。筋肉の収縮の強さ。通常、筋肉が収縮すると、sEMG 信号の波形はより複雑になり、水平ベースラインを横切る回数が増加するため、ZC も増加します。筋肉がリラックスした状態では、sEMG 信号の波形は単純になり、水平ベースラインを横切る回数が減少するため、ZC も減少します。

次のように計算されます。

ここに画像の説明を挿入します
この式では、N は収集された表面筋電図信号データ点の数、x(i-1)、x(i)、x(i+1) は信号データ シーケンスの i-1、i、i 番目です。 . +1 データ。

MATLAB コードは次のとおりです。

function feature = fZC(data)
    % - ZC - Zero Crossing
    DeadZone = 10e-7;
    data_size = length(data);
    feature = 0;
    if data_size == 0
        feature = 0;
    else
        for i=2:data_size
            difference = data(i) - data(i-1);
            multy      = data(i) * data(i-1);
            if abs(difference)>DeadZone && multy<0
                feature = feature + 1;
            end
        end
        feature = feature/data_size;
    end
end

4. 波長(WL)

この特徴は、特定の時間窓内の sEMG 信号の波形長の累積和を指し、表面筋電図信号の複雑さを表し、通常は筋肉の収縮と弛緩の状態を評価するために使用されます。通常、筋肉が収縮すると、sEMG信号の波形はより複雑になり、波形の長さが増加するため、WLも増加します。筋肉がリラックスした状態では、sEMG 信号の波形は単純になり、波形の長さも短くなります。

次のように計算されます。

ここに画像の説明を挿入します
この式において、N は収集された表面筋電図信号データ点の数、x_i は信号データ列の i 番目のデータです。

MATLAB コードは次のとおりです。

function feature = fWL(data)
    % - WL - Waveform Length
    feature = sum(abs(diff(data)))/length(data);
end

5. 坂道標識変更(SSC)

この特徴は、sEMG 信号の波形における振幅変化率の符号が変化する回数を指し、表面筋電図信号が変動しつつあることを示すためによく使用されます。

次のように計算されます。

ここに画像の説明を挿入します
この式では、N は収集された表面筋電図信号データ点の数、x(i-1)、x(i)、x(i+1) は信号データ シーケンスの i-1、i、i 番目です。 . +1 データ、
ここに画像の説明を挿入します

MATLAB コードは次のとおりです。

function feature = fSSC(data)
    % - SSC - Slope Sign Change, number times
    DeadZone = 10e-7;
    data_size = length(data);
    feature = 0;
    if data_size == 0
        feature = 0;
    else
        for j=3:data_size
            difference1 = data(j-1) - data(j-2);
            difference2 = data(j-1) - data(j);
            Sign = difference1 * difference2;
            if Sign > 0
                if abs(difference1)>DeadZone || abs(difference2)>DeadZone
                    feature = feature + 1;
                end
            end
        end
        feature = feature/data_size;
    end
end

6. 中央周波数 (MF)

この特性は、筋収縮中に生成される筋電図信号の中央周波数を指し、筋収縮の力と疲労を評価するためによく使用されます。MF は、表面筋電図信号のパワー スペクトル密度を分析することによって取得されます。筋収縮中、筋収縮の強さや疲労に応じて筋電信号の周波数が変化します。通常、MF は筋肉に大きな負荷がかかったり疲労したりすると減少し、筋肉の負荷が軽いかリラックスした状態になると増加します。

計算式は次のとおりです。
ここに画像の説明を挿入します
matlab コードは次のとおりです。

function feature = fMF(data)
    % - MF - Mean Frequency
    feature = medfreq(data((i-1)*windownum+1:i*windownum), fs)./4e5;
end

この式において、PSD は表面筋電図信号のパワー スペクトルを表し、windowum はウィンドウ長を表し、i は sEMG チャネルを表し、fs はサンプリング レートを表します。

7. 平均電力周波数 (MPF)

この特徴は、筋収縮中に生成される筋電信号のパワー周波数分布の平均を指し、筋収縮の力と疲労を評価するために使用できます。信号に干渉ノイズが混入している場合でも、この機能を使用すると、信号内の有用な情報をより適切に識別でき、アンチエイリアシング能力は非常に優れています。中央周波数 (MF) と同様に、MPF も筋電図活動の特性と変化を研究するためによく使用されます。
計算式は次のとおりです。
ここに画像の説明を挿入します
matlab コードは次のとおりです。

function feature = fMPF(data)
    % - MPF - Mean Power Frequency
    feature = meanfreq(data((i-1)*windownum+1:i*windownum), fs); 
end

この式において、f は表面筋電図信号の周波数を表し、windowum はウィンドウ長を表し、i は sEMG チャネルを表し、fs はサンプリング レートを表します。

注:継続的に更新されます...

おすすめ

転載: blog.csdn.net/weixin_45471642/article/details/131362551