Hi. I want to segmentate an ECG signal recorded for 10 h from a database. Every signal have about 9 milion sample with a sample rate of 250 Hz, so about 3000 seconds. I want to segmentate this signal in time domain so I can have 5 beats in every signal. Every beat is 1.2 s so every signal segmentated will be 6 s and about 1500 samples. I need this for feature extraction and a cnn clasification. How can i extract every signal. I first throught i need to find every QRS complex, but in some cases the P wave will be higher in amplitude than R and findpeaks will get that as a peak. I tried getting every signal in an matrice but it exceeds maximum array size and it can be difficult for further processing.
[signal,Fs,tm]=rdsamp('08455'); %recording name have 2 leads sig = signal(:,1); %we will wok on the first one s= 9205760; %samples fs = 250; %sample rate t = floor(s/ts); %time for the recording t_i = 0.8; %initial time for the inteval 2/3 of first 1.2 s i = floor(t/6); %nr of signals for j =1:i t_f = t_i +6; %final time for the interval m(s,j) = sig((t_i*fs):(t_f*fs)); %I wanted to get every signal in a matrice in which every column will be a signal t_i = (t_f*ts +1)/ts; %initial time for further intervals end
ANSWER
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
you can use the function to detect positive and negative slope threshold crossing pointsthis will give you the time index of the signal individual blocksI could try it inside your code if you could share some signal data % demo code
n=100;
x=(1:n)/n;
y= 0.5 + sin(20*x)+ 0.02*randn(1,n);
threshold = 1; %
[ind_pos,t0_pos,s0_pos,ind_neg,t0_neg,s0_neg]= crossing_V7(y,x,threshold,'linear'); % positive slope zero crossing points
plot(x,y,'b',t0_pos,s0_pos,'+r',t0_neg,s0_neg,'+g','linewidth',2,'markersize',12);grid
legend('signal','positive slope crossing points','negative slope crossing points');
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
% demo code n=100; x=(1:n)/n; y= 0.5 + sin(20*x)+ 0.02*randn(1,n); threshold = 1; % [ind_pos,t0_pos,s0_pos,ind_neg,t0_neg,s0_neg]= crossing_V7(y,x,threshold,'linear'); % positive slope zero crossing points plot(x,y,'b',t0_pos,s0_pos,'+r',t0_neg,s0_neg,'+g','linewidth',2,'markersize',12);grid legend('signal','positive slope crossing points','negative slope crossing points');
Comments
Post a Comment