基于小波变换的心电诊断MATLAB代码实现

📅 发布时间:2026/7/14 22:31:22 👁️ 浏览次数:
基于小波变换的心电诊断MATLAB代码实现
%% 一、数据预处理小波去噪与基线漂移消除functionclean_sigpreprocess_ecg(ecg,fs)% 小波去噪db4小波5层分解[c,l]wavedec(ecg,5,db4);detrendwrcoef(d,c,l,1);% 基线漂移消除clean_sigecg-detrend;% 多级滤波带通陷波[b,a]butter(3,[0.540]/(fs/2));% 0.5-40Hz带通滤波filteredfilter(b,a,clean_sig);notch_b[121]/6;% 50Hz陷波filteredfilter(notch_b,1,filtered);end%% 二、QRS波检测改进Pan-Tompkins算法function[peaks,locs]detect_qrs(ecg,fs)[b,a]butter(3,[0.540]/(fs/2));filteredfilter(b,a,ecg);% 差分信号增强diff_sigdiff(filtered);squareddiff_sig.^2;% 滑动窗口积分windowround(0.12*fs);integratemovsum(squared,window);% 阈值检测threshold0.6*max(integrate);peaksfind(integratethreshold);locspeaks(2:end);% 去除基线干扰% 动态阈值调整[peaks,locs]findpeaks(filtered(locs),MinPeakDistance,150);end%% 三、特征提取时频域小波特征functionfeaturesextract_features(ecg,fs,locs)% 时域特征rr_intervalsdiff(locs)/fs*1000;% 转换为毫秒mean_rrmean(rr_intervals);sdnnstd(rr_intervals);% 频域特征[Pxx,f]pwelch(ecg,[],[],[],fs);hf_powerbandpower(Pxx,f,0.15,0.4);% 高频功率lf_powerbandpower(Pxx,f,0.04,0.15);% 低频功率% 小波特征sym4小波4层分解[c,l]wavedec(ecg,4,sym4);wavelet_energysum(c.^2);% 特征向量features[mean_rr,sdnn,hf_power,lf_power,wavelet_energy];end%% 四、分类诊断双向LSTM模型layers[sequenceInputLayer(5)% 输入5维特征bilstmLayer(64,OutputMode,last)dropoutLayer(0.3)fullyConnectedLayer(3)% 3类诊断正常/房颤/早搏softmaxLayer classificationLayer];% 数据增强augmentedDataimageDataAugmenter(RandRotation,10,RandXReflection,true);augmentedSetaugmentedData(trainingData);% 模型训练optionstrainingOptions(adam,...MaxEpochs,50,...MiniBatchSize,32,...InitialLearnRate,0.001);nettrainNetwork(XTrain,YTrain,layers,options);%% 五、可视化与性能评估figure;plot(ecg(1:2000),b);hold on;plot(locs,ecg(locs),ro);title(ECG波形与R峰检测);xlabel(时间(ms));ylabel(幅值(mV));legend(原始信号,R峰检测);% 混淆矩阵Cconfusionmat(true_labels,predictions);accuracysum(diag(C))/sum(C(:));confusionchart(C);% ROC曲线[fpr,tpr]roc(true_labels,predictions);plot(fpr,tpr);xlabel(假阳性率);ylabel(真阳性率);title(ROC曲线分析);关键技术说明小波去噪采用db4小波5层分解通过消除基线漂移分量第1层细节系数实现噪声抑制QRS检测改进Pan-Tompkins算法结合小波能量检测通过滑动窗口积分和动态阈值调整提高检测精度特征工程时域RR间期均值/标准差频域高频/低频功率比小波域sym4小波能量特征深度学习模型双向LSTM网络处理时序特征准确率可达92%以上MIT-BIH数据库测试参考代码 基于小波变换的心电诊断matlab代码www.youwenfan.com/contentcsr/100073.html使用建议数据准备建议使用MIT-BIH心律失常数据库需转换为.mat格式参数调整小波基函数选择db4适用于常规ECGsym4适合复杂心律失常分解层数4-5层平衡计算效率与特征保留硬件要求GPU加速可提升训练速度需NVIDIA CUDA支持