Cut a continuous signal into frames
Ältere Kommentare anzeigen
Hey everyone,
I have a continuous signal with size 1x400000 (analog data that corresponds to a 20 min signal) and I would like to frames with 1 min each and do some signal processing on each. I wrote this code and tried it for a small matrix but when I increased the size of my matrix matlab was busy for a very long time. So, what is wrong and what can I do to improve it.
The code: t= [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 17 17.01 17.02 17.03 17.4 18];
for i =1:length(t)
if t(i) <= 17
T(i)= t(i);
else
break;
end
end
plot(T, D(1:length(T))) %matrix D corresponds to the amplitude of my signal
when I used t= [1*ones(1,400000) 17 17 17.01 17.02 17.03 17.4 18] with the same code the program just like hanged!!!!
Any help will be appreciated.
4 Kommentare
Luffy
am 7 Jul. 2012
t= [1*ones(1,400000) 17 17 17.01 17.02 17.03 17.4 18];
T = t.*(t<=17) + 0*(t>17);
This generated T,but when i wanted to see it in variable editor it got hanged,however it ws able to plot plot(T,T),any other plot it showed out of memory
Image Analyst
am 7 Jul. 2012
What does 17 have to do with anything? Is that where you detect the separation of one "frame" from the next "frame"???
Yasmin Tamimi
am 11 Jul. 2012
Yasmin Tamimi
am 11 Jul. 2012
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Signal Processing Toolbox finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!