Data Segmentation by proportion
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Theodora Chivu
le 3 Déc 2020
Commenté : Theodora Chivu
le 10 Déc 2020
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
0 commentaires
Réponse acceptée
Mathieu NOE
le 8 Déc 2020
hello
you can use the attached function to detect positive and negative slope threshold crossing points
this will give you the time index of the signal individual blocks
I 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');
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur AI for Signals dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!