FFT of EMG Signal

133 views (last 30 days)
Karl Rueth
Karl Rueth on 22 Oct 2017
Commented: ANADI BISWAS on 28 Dec 2021
I am trying to obtain the FFT of an EMG Signal, I have already done some other type of processing, including; removing DC Offset, Rectification and Signal Envelope, however I am stuck in the FFT part ? Any help would be appreciated ..
Attached the Code and Photo of current situation can be found.
dpb on 23 Oct 2017
What "final result", there's no FFT uncommented in the sample code; the result will be what it shall be; you can't really "require" anything.
You don't even say what your desired result is that you're looking for, specifically, what are we, mind-readers?
Look at the example at
doc fft
for example of doing PSD via FFT for pointers.

Sign in to comment.

Answers (3)

Star Strider
Star Strider on 22 Oct 2017
See the documentation on fft (link).

Luc Dransfeld
Luc Dransfeld on 8 Jan 2018
If you follow the FFT documentation from Matlab, you should be able to get there. Maybe though, you should set your plot window differently, as motion artifacts can contain a power that is proportionately way bigger that the rest of the EMG-frequencies resulting that you will only visibly see the motion artifacts. You can always use matlab function: periodogram, which basically gets you the logarithm from the power, expressed in dB.

Trishna Sah
Trishna Sah on 23 Jan 2019
Edited: Trishna Sah on 23 Jan 2019
This is using your variables in the fft doc by Matlab
%fft plot for emg4
Y = fft(x);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
title('Frequency Spectrum Plot')
xlabel('f (Hz)')
f = Fs*(0:(L/2))/L;
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ANADI BISWAS on 28 Dec 2021
Units of x axis and y axis after abs(fft)?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!