FFT of EMG Signal
21 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
dpb
am 23 Okt. 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.
Antworten (3)
Luc Dransfeld
am 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.
0 Kommentare
Trishna Sah
am 23 Jan. 2019
Bearbeitet: Trishna Sah
am 23 Jan. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Spectral Measurements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!