سوال اول : این دیتای صدای قلب 10 ثانیه رو داره نشون میده. اگه من بخوام یه قسمت خاص از سیگنال مثلا از سمپل 1 تا 70000 رو ببینم باید چیکار کنم ؟
جواب : ازونجایی که دیتامون (که مثلا نامش y1 هست) یک بردار 424560*1 یا 1*424560 هستش، پس برای انتخاب یک قسمت خاص از دیتا بدین گونه عمل میکنیم:
y2=y1(1:70000)
یا مثلا از سمپل 80000 تا سمپل 120000 را میخوام :
y3=y1(80000:120000)
سوال دوم : توی شکل صدای قلب نمونه ای که داشتیم، ده تا سیکل صدای قلبی رو داریم. اگه بخوام مثلا سیکل اول رو فقط داشته باشم چیکار کنم ؟
جواب : خب در کمال سادگی از دستور length استفاده میکنیم .
مثل من مینویسم plot(t(1:length(t)/10),y1(1:length(y1)/10)) تا به راحتی بتونم سیکل اول صدای قلب را ترسیم کنم. پس کل کد من به صورت زیر خواهد بود :
clc;clear;close all
[y1,fs]=audioread('normal.mp3'); % read Heart sound data
T = 1/fs; % Sample time
L = length(y1); % Length of signal
t = (0:L-1)*T; % time vector
plot(t(1:length(t)/10),y1(1:length(y1)/10))
جواب : ازونجایی که دیتامون (که مثلا نامش y1 هست) یک بردار 424560*1 یا 1*424560 هستش، پس برای انتخاب یک قسمت خاص از دیتا بدین گونه عمل میکنیم:
y2=y1(1:70000)
یا مثلا از سمپل 80000 تا سمپل 120000 را میخوام :
y3=y1(80000:120000)
سوال دوم : توی شکل صدای قلب نمونه ای که داشتیم، ده تا سیکل صدای قلبی رو داریم. اگه بخوام مثلا سیکل اول رو فقط داشته باشم چیکار کنم ؟
جواب : خب در کمال سادگی از دستور length استفاده میکنیم .
مثل من مینویسم plot(t(1:length(t)/10),y1(1:length(y1)/10)) تا به راحتی بتونم سیکل اول صدای قلب را ترسیم کنم. پس کل کد من به صورت زیر خواهد بود :
clc;clear;close all
[y1,fs]=audioread('normal.mp3'); % read Heart sound data
T = 1/fs; % Sample time
L = length(y1); % Length of signal
t = (0:L-1)*T; % time vector
plot(t(1:length(t)/10),y1(1:length(y1)/10))