Biomedical Signal



سوال اول : این دیتای صدای قلب 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))

 

 

 
 
 
 
ترسیم یک سیکل صدای قلب

جهت فراخوانی صدای قلب از دستور audioread و یا wavread استفاده میشود. سپس با توجه به فرکانس (نرخ نمونه گیری) به ترسیم آن پرداخته خواهد شد. با دستور plot میتوان ترسیم نمود و با دستور sound صدای قلب مربوطه را میتوان پخش نمود و شنید. کد ساده مربوطه به صورت زیر است.

 

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;

plot(t,y1)

 sound(y1,fs)

 

دریافت دیتای صدای قلب نرمال استفاده شده در این تمرین


آخرین جستجو ها