RMS-EMG calculate and plot
조회 수: 37 (최근 30일)
이전 댓글 표시
I have to plot the RMS graph over time of the signal related to the left anterior tibial muscle, I calculated the value with the matlab 'rms' command but I only get a value and not a vector to plot. I need the matlab code.
댓글 수: 0
채택된 답변
Star Strider
2021년 3월 25일
The RMS value needs to be calculated for a vector. Since the RMS =s the square root of the mean of the squared values of that vector, one option is to use the movmean function to create a moving estimate of the RMS value.
Try this:
t = linspace(0, 10, 1000); % Time Vector
v = 1.2+sin(2*pi*t*100)+randn(1,1000)*0.1; % EMG Vector
WinLen = 10; % Window Length For RMS Calculation
rmsv = sqrt(movmean(v.^2, 10)); % RMS Value Over ‘WinLen’ Samples
figure
plot(t, v)
hold on
plot(t, rmsv, '-r', 'LineWidth',1.5)
hold off
grid
legend('EMG',sprintf('RMS (Window Length = %d)',WinLen), 'Location','best')
Experiment to get the result you want.
댓글 수: 6
Star Strider
2021년 3월 26일
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Spectral Measurements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!