FFT of EMG Signal
21 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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.
3 comentarios
dpb
el 23 de Oct. de 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.
Respuestas (3)
Luc Dransfeld
el 8 de En. de 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.
0 comentarios
Trishna Sah
el 23 de En. de 2019
Editada: Trishna Sah
el 23 de En. de 2019
This is using your variables in the fft doc by Matlab
%fft plot for emg4
Fs=1000;
L=length(emg4);
t=L/Fs;
x=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;
plot(f,P1)
title('Frequency Spectrum Plot')
xlabel('f (Hz)')
ylabel('|P1(f)|')
f = Fs*(0:(L/2))/L;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
5 comentarios
Ver también
Categorías
Más información sobre Spectral Measurements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!