#预处理方式为使用动态MFCC并采用滑动窗口对2016心音挑战赛数据进行分割,使用过采样平衡数据
import os
import numpy as np
import librosa
from sklearn.preprocessing import MinMaxScaler
from scipy.signal import butter, filtfilt
from imblearn.over_sampling import KMeansSMOTE
from sklearn.cluster import KMeans
# 文件夹路径(更换成自己的)
input_folders = ['你自己的路径']
output_file = r'..\out_put\data.npy'
os.makedirs(os.path.dirname(output_file), exist_ok=True)
# 滑动窗口函数
def sliding_window(signal, window_size, step):
return [signal[i:i + window_size] for i in range(0, len(signal) - window_size + 1, step)]
# 巴特沃斯带通滤波器
def butter_bandpass(lowcut, highcut, fs, order=2):
nyquist = 0.5 * fs
low = lowcut / nyquist
high = highcut / nyquist
b, a = butter(order, [low, high], btype='band')
return b, a
def bandpass_filter(data, lowcut, highcut, fs, order=2):
b, a = butter_bandpass(lowcut, highcut, fs, order
心音信号(PCG)预处理转换为特征向量不使用二维图像
于 2024-06-17 17:41:32 首次发布