feat: add func which calc the samplerate
This commit is contained in:
parent
6798456c84
commit
9d3919c4f9
@ -71,7 +71,7 @@ class CSV_handler:
|
|||||||
# Links the retrieved data with the subjects data_container
|
# Links the retrieved data with the subjects data_container
|
||||||
subject_nr = data_container.subject_nr
|
subject_nr = data_container.subject_nr
|
||||||
self.data_container_dict[subject_nr] = data_container
|
self.data_container_dict[subject_nr] = data_container
|
||||||
|
|
||||||
# Loads the data from the csv files into a storing system in an CSV_handler object
|
# Loads the data from the csv files into a storing system in an CSV_handler object
|
||||||
# (hard, hardPP, soft and softPP)
|
# (hard, hardPP, soft and softPP)
|
||||||
def load_hard_PP_emg_data(self):
|
def load_hard_PP_emg_data(self):
|
||||||
@ -467,3 +467,13 @@ def make_df_from_xandy(x, y, emg_nr):
|
|||||||
#print(df)
|
#print(df)
|
||||||
return df
|
return df
|
||||||
|
|
||||||
|
# Help: returns the samplerate of a df
|
||||||
|
def get_samplerate(df:DataFrame):
|
||||||
|
min, max = get_min_max_timestamp(df)
|
||||||
|
#print(min, max)
|
||||||
|
seconds = max - 60 - min
|
||||||
|
#print(seconds)
|
||||||
|
samples = len(df['timestamp'])
|
||||||
|
#print(samples)
|
||||||
|
samplerate = samples / seconds
|
||||||
|
return samplerate
|
@ -1,8 +1,11 @@
|
|||||||
from logging import error
|
from logging import error
|
||||||
|
|
||||||
|
from matplotlib.cbook import get_sample_data
|
||||||
from Handle_emg_data import *
|
from Handle_emg_data import *
|
||||||
from Signal_prep import *
|
from Signal_prep import *
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
from matplotlib import cm, ticker
|
from matplotlib import cm
|
||||||
|
import matplotlib.ticker as ticker
|
||||||
|
|
||||||
|
|
||||||
SAMPLE_RATE = 200
|
SAMPLE_RATE = 200
|
||||||
@ -40,8 +43,7 @@ def plot_mfcc(mfcc_data):
|
|||||||
fig, ax = plt.subplots()
|
fig, ax = plt.subplots()
|
||||||
mfcc_data= np.swapaxes(mfcc_data, 0 ,1)
|
mfcc_data= np.swapaxes(mfcc_data, 0 ,1)
|
||||||
#ax.axis([0, mfcc_stepsize * len(mfcc_data[0]), 0, len(mfcc_data[:,0])])
|
#ax.axis([0, mfcc_stepsize * len(mfcc_data[0]), 0, len(mfcc_data[:,0])])
|
||||||
#ticks = ticker.get_xticks()* 1/10
|
#ax.set_xticks(range(int(len(mfcc_data) * 1 / mfcc_stepsize)))
|
||||||
#ticker.set_xticklabels(ticks)
|
|
||||||
ax.imshow(mfcc_data, interpolation='nearest', cmap=cm.coolwarm, origin='lower')
|
ax.imshow(mfcc_data, interpolation='nearest', cmap=cm.coolwarm, origin='lower')
|
||||||
ax.set_title('MFCC')
|
ax.set_title('MFCC')
|
||||||
plt.show()
|
plt.show()
|
||||||
@ -81,6 +83,10 @@ def denoice_dataset(handler:Handler.CSV_handler, subject_nr, which_arm, round, e
|
|||||||
df_new = Handler.make_df_from_xandy(N, y_values, emg_nr)
|
df_new = Handler.make_df_from_xandy(N, y_values, emg_nr)
|
||||||
return df_new
|
return df_new
|
||||||
|
|
||||||
|
def mfcc_custom(df:DataFrame, samplesize, windowsize, stepsize):
|
||||||
|
N = get_xory_from_df('x', df)
|
||||||
|
y = get_xory_from_df('y', df)
|
||||||
|
return N, base.mfcc(y, samplesize, windowsize, stepsize)
|
||||||
|
|
||||||
# CASE FUNTIONS
|
# CASE FUNTIONS
|
||||||
|
|
||||||
@ -100,16 +106,14 @@ def main():
|
|||||||
|
|
||||||
csv_handler = CSV_handler()
|
csv_handler = CSV_handler()
|
||||||
load_data(csv_handler, 'hard')
|
load_data(csv_handler, 'hard')
|
||||||
data_frame = get_data(csv_handler, 1, 'left', 1, 1)
|
data_frame = get_data(csv_handler, 2, 'left', 1, 1)
|
||||||
|
|
||||||
#print(data_frame.head)
|
print(get_samplerate(data_frame))
|
||||||
|
|
||||||
|
|
||||||
mfcc_data = get_xory_from_df('y', data_frame[:5000])
|
N, mfcc_feat = mfcc_custom(data_frame[:5000], SAMPLE_RATE, mfcc_windowsize, mfcc_stepsize)
|
||||||
mfcc_feat = base.mfcc(mfcc_data, SAMPLE_RATE, mfcc_windowsize, mfcc_stepsize)
|
|
||||||
print(mfcc_feat.shape)
|
|
||||||
plot_mfcc(mfcc_feat)
|
plot_mfcc(mfcc_feat)
|
||||||
|
print(get_sample_data)
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
main()
|
main()
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user