• 當前位置:首頁 > IT技術 > 移動平臺 > 正文

    【心電信號】基于多種濾波去除心電信號基線漂移含Matlab源碼
    2022-04-25 23:01:32

    1 簡介

    心電信號可以用來檢測和診斷心臟疾病,心電信號在采集時經常受到呼吸活動、身體運動和皮膚與電極接觸不良等影響,因此會產生基線漂移,基線漂移的存在會降低心電信號的質量。所以,在大多數心電信號處理中,包括心律失常的識別、心率變化分析和連續血壓測量等,去除基線漂移成為了至關重要的一步。心電信號具有非平穩、非線性的特性,傳統的去除心電信號中基線漂移的方法在對心電信號進行去噪時常因去噪過度或者不完全,容易造成大量非線性特征信息的丟失,從而破壞了心電信號本身的動力學特性,這給后續的心電信號信息分析帶來了不利影響?;谥兄?、小波變換、IIR高通濾波去除心電信號基線漂移。

    2 部分代碼

    clc;
    clear;
    close all;
    %% 提取信號
    M = importdata('3.txt');
    fsample=1000;%采樣率為1KHz
    [mx,my]=size(M);
    Signal=M(:,2);%M的第一列為時間,第二列為信號
    length=floor(mx/2);%取原始信號的一半。
    S=Signal(1:length);
    %% 高通濾波,去除基線漂移的影響
    disp('-------------------------------------------');
    disp('1:工具箱巴特沃斯高通濾波器');
    disp('2:IIR高通濾波');
    disp('3:FIR高通濾波');
    disp('4:中值濾波');
    disp('5:稀疏小波濾波');
    disp('6:中值+小波濾波');
    disp('-------------------------------------------');
    choose=input('選擇濾波方式choose=');
    switch choose
    case 1
    S_hp=filter_hp(S,fsample);%工具箱的巴特沃斯高通濾波—
    case 2
    S_hp=IIR_hp(S,fsample);%IIR高通濾波
    case 3
    S_hp=fir_hp1(S,fsample);%FIR高通濾波
    case 4
    S_hp=zzlb(S,fsample);%中值濾波
    case 5
    S_hp=spxblb(S,fsample);%小波濾波
    case 6
    S_hp=zzlb(S,fsample);%中值濾波
    S_hp=xblb(S_hp,fsample);%小波濾波
    end
    %% 陷波器濾波,去除工頻干擾
    % S_stop=filter_stop(S,fs);

    3 仿真結果

    【心電信號】基于多種濾波去除心電信號基線漂移含Matlab源碼_高通濾波

    4 參考文獻

    [1]王菲. 心電信號基線漂移噪聲去除算法研究[D]. 遼寧師范大學.

    博主簡介:擅長智能優化算法、神經網絡預測、信號處理、元胞自動機、圖像處理、路徑規劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。

    部分理論引用網絡文獻,若有侵權聯系博主刪除。

    【心電信號】基于多種濾波去除心電信號基線漂移含Matlab源碼_中值濾波_02



    本文摘自 :https://blog.51cto.com/u

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码