Skip to content
Snippets Groups Projects
Commit 5a77ce09 authored by LexvanGastel's avatar LexvanGastel
Browse files

vraag 10

parent c7cf0c1c
Branches
No related tags found
No related merge requests found
...@@ -81,6 +81,13 @@ def info_emg_data(file_path): ...@@ -81,6 +81,13 @@ def info_emg_data(file_path):
#file_path = "emg_data_walking.mat" #file_path = "emg_data_walking.mat"
#info_emg_data(file_path) #info_emg_data(file_path)
def compute_fft(signal, sampling_rate):
N = len(signal)
fft_values = np.fft.fft(signal)
fft_magnitude = np.abs(fft_values[:N//2])
freq = np.fft.fftfreq(N, d=1/sampling_rate)[:N//2]
return freq, fft_magnitude
def plot_emg_data(file_path): def plot_emg_data(file_path):
sampling_rate, data, num_samples, duration = info_emg_data(file_path) sampling_rate, data, num_samples, duration = info_emg_data(file_path)
...@@ -89,6 +96,9 @@ def plot_emg_data(file_path): ...@@ -89,6 +96,9 @@ def plot_emg_data(file_path):
channel_rectus_femoris = data[chosen_muscles['rectus_fomoris'], :] channel_rectus_femoris = data[chosen_muscles['rectus_fomoris'], :]
channel_tibialis_anterior = data[chosen_muscles['tibialis_anterior'], :] channel_tibialis_anterior = data[chosen_muscles['tibialis_anterior'], :]
freq_rf, fft_rf = compute_fft(channel_rectus_femoris, sampling_rate)
freq_ta, fft_ta = compute_fft(channel_tibialis_anterior, sampling_rate)
plt.figure(figsize=(10,6)) plt.figure(figsize=(10,6))
plt.subplot(2, 1, 1) plt.subplot(2, 1, 1)
...@@ -96,12 +106,29 @@ def plot_emg_data(file_path): ...@@ -96,12 +106,29 @@ def plot_emg_data(file_path):
plt.title('EMG Data - Rectus femoris') plt.title('EMG Data - Rectus femoris')
plt.xlabel('Time [Seconds]') plt.xlabel('Time [Seconds]')
plt.ylabel('Amplitude') plt.ylabel('Amplitude')
plt.legend()
plt.subplot(2, 1, 2) plt.subplot(2, 1, 2)
plt.plot(time_vector, channel_tibialis_anterior) plt.plot(time_vector, channel_tibialis_anterior)
plt.title('EMG Data - Tibialis Anterior') plt.title('EMG Data - Tibialis Anterior')
plt.xlabel('Time [seconds]') plt.xlabel('Time [seconds]')
plt.ylabel('Amplitude') plt.ylabel('Amplitude')
plt.legend()
plt.tight_layout()
plt.show()
plt.subplot(2, 2, 3)
plt.plot(freq_rf, fft_rf)
plt.title('Power Spectrum - Rectus Femoris')
plt.xlabel('Frequency [Hz]')
plt.ylabel('Magnitude')
plt.subplot(2, 2, 4)
plt.plot(freq_ta, fft_ta)
plt.title('Power Spectrum - Tibialis Anterior')
plt.xlabel('Frequency [Hz]')
plt.ylabel('Magnitude')
plt.tight_layout() plt.tight_layout()
plt.show() plt.show()
...@@ -111,3 +138,5 @@ plot_emg_data(file_path) ...@@ -111,3 +138,5 @@ plot_emg_data(file_path)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment